weka.gui.beans
Class CrossValidationFoldMaker

java.lang.Object
  extended byjava.awt.Component
      extended byjava.awt.Container
          extended byjavax.swing.JComponent
              extended byjavax.swing.JPanel
                  extended byweka.gui.beans.AbstractTrainAndTestSetProducer
                      extended byweka.gui.beans.CrossValidationFoldMaker
All Implemented Interfaces:
javax.accessibility.Accessible, BeanCommon, DataSourceListener, EventConstraints, java.util.EventListener, java.awt.image.ImageObserver, java.awt.MenuContainer, java.io.Serializable, TestSetListener, TestSetProducer, TrainingSetListener, TrainingSetProducer, UserRequestAcceptor, Visible

public class CrossValidationFoldMaker
extends AbstractTrainAndTestSetProducer
implements DataSourceListener, TrainingSetListener, TestSetListener, UserRequestAcceptor, EventConstraints, java.io.Serializable

Bean for splitting instances into training ant test sets according to a cross validation

Version:
$Revision: 1.5 $
Author:
Mark Hall
See Also:
Serialized Form

Nested Class Summary
 
Nested classes inherited from class javax.swing.JPanel
javax.swing.JPanel.AccessibleJPanel
 
Nested classes inherited from class javax.swing.JComponent
javax.swing.JComponent.AccessibleJComponent
 
Nested classes inherited from class java.awt.Container
java.awt.Container.AccessibleAWTContainer
 
Nested classes inherited from class java.awt.Component
java.awt.Component.AccessibleAWTComponent, java.awt.Component.BltBufferStrategy, java.awt.Component.FlipBufferStrategy
 
Field Summary
private  java.lang.Thread m_foldThread
           
private  int m_numFolds
           
private  int m_randomSeed
           
 
Fields inherited from class weka.gui.beans.AbstractTrainAndTestSetProducer
m_listenee, m_logger, m_testListeners, m_trainingListeners, m_visual
 
Fields inherited from class javax.swing.JPanel
 
Fields inherited from class javax.swing.JComponent
accessibleContext, listenerList, TOOL_TIP_TEXT_KEY, ui, UNDEFINED_CONDITION, WHEN_ANCESTOR_OF_FOCUSED_COMPONENT, WHEN_FOCUSED, WHEN_IN_FOCUSED_WINDOW
 
Fields inherited from class java.awt.Container
 
Fields inherited from class java.awt.Component
BOTTOM_ALIGNMENT, CENTER_ALIGNMENT, LEFT_ALIGNMENT, RIGHT_ALIGNMENT, TOP_ALIGNMENT
 
Fields inherited from interface java.awt.image.ImageObserver
ABORT, ALLBITS, ERROR, FRAMEBITS, HEIGHT, PROPERTIES, SOMEBITS, WIDTH
 
Constructor Summary
CrossValidationFoldMaker()
           
 
Method Summary
 void acceptDataSet(DataSetEvent e)
          Accept a data set
 void acceptTestSet(TestSetEvent e)
          Accept a test set
 void acceptTrainingSet(TrainingSetEvent e)
          Accept a training set
private  void block(boolean tf)
          Function used to stop code that calls acceptDataSet.
 java.util.Enumeration enumerateRequests()
          Return an enumeration of user requests
 boolean eventGeneratable(java.lang.String eventName)
          Returns true, if at the current time, the named event could be generated.
 java.lang.String foldsTipText()
          Tip text for this property
 int getFolds()
          Get the currently set number of folds
 int getSeed()
          Get the currently set seed
 java.lang.String globalInfo()
          Global info for this bean
private  void notifyTestSetProduced(TestSetEvent tse)
          Notify all test set listeners of a TestSet event
protected  void notifyTrainingSetProduced(TrainingSetEvent tse)
          Notify all listeners of a TrainingSet event
 void performRequest(java.lang.String request)
          Perform the named request
 java.lang.String seedTipText()
          Tip text for this property
 void setFolds(int numFolds)
          Set the number of folds for the cross validation
 void setSeed(int randomSeed)
          Set the seed
 void stop()
          Stop any action
 
Methods inherited from class weka.gui.beans.AbstractTrainAndTestSetProducer
addTestSetListener, addTrainingSetListener, connectionAllowed, connectionNotification, disconnectionNotification, getVisual, removeTestSetListener, removeTrainingSetListener, setLog, setVisual, useDefaultVisual
 
Methods inherited from class javax.swing.JPanel
getAccessibleContext, getUI, getUIClassID, paramString, setUI, updateUI
 
Methods inherited from class javax.swing.JComponent
addAncestorListener, addNotify, addPropertyChangeListener, addPropertyChangeListener, addVetoableChangeListener, computeVisibleRect, contains, createToolTip, disable, enable, firePropertyChange, firePropertyChange, firePropertyChange, firePropertyChange, firePropertyChange, firePropertyChange, firePropertyChange, firePropertyChange, firePropertyChange, fireVetoableChange, getActionForKeyStroke, getActionMap, getAlignmentX, getAlignmentY, getAncestorListeners, getAutoscrolls, getBorder, getBounds, getClientProperty, getComponentGraphics, getConditionForKeyStroke, getDebugGraphicsOptions, getDefaultLocale, getGraphics, getHeight, getInputMap, getInputMap, getInputVerifier, getInsets, getInsets, getListeners, getLocation, getMaximumSize, getMinimumSize, getNextFocusableComponent, getPreferredSize, getPropertyChangeListeners, getPropertyChangeListeners, getRegisteredKeyStrokes, getRootPane, getSize, getToolTipLocation, getToolTipText, getToolTipText, getTopLevelAncestor, getTransferHandler, getVerifyInputWhenFocusTarget, getVetoableChangeListeners, getVisibleRect, getWidth, getX, getY, grabFocus, isDoubleBuffered, isLightweightComponent, isManagingFocus, isMaximumSizeSet, isMinimumSizeSet, isOpaque, isOptimizedDrawingEnabled, isPaintingTile, isPreferredSizeSet, isRequestFocusEnabled, isValidateRoot, paint, paintBorder, paintChildren, paintComponent, paintImmediately, paintImmediately, print, printAll, printBorder, printChildren, printComponent, processComponentKeyEvent, processKeyBinding, processKeyEvent, processMouseMotionEvent, putClientProperty, registerKeyboardAction, registerKeyboardAction, removeAncestorListener, removeNotify, removePropertyChangeListener, removePropertyChangeListener, removeVetoableChangeListener, repaint, repaint, requestDefaultFocus, requestFocus, requestFocus, requestFocusInWindow, requestFocusInWindow, resetKeyboardActions, reshape, revalidate, scrollRectToVisible, setActionMap, setAlignmentX, setAlignmentY, setAutoscrolls, setBackground, setBorder, setDebugGraphicsOptions, setDefaultLocale, setDoubleBuffered, setEnabled, setFont, setForeground, setInputMap, setInputVerifier, setMaximumSize, setMinimumSize, setNextFocusableComponent, setOpaque, setPreferredSize, setRequestFocusEnabled, setToolTipText, setTransferHandler, setUI, setVerifyInputWhenFocusTarget, setVisible, unregisterKeyboardAction, update
 
Methods inherited from class java.awt.Container
add, add, add, add, add, addContainerListener, addImpl, applyComponentOrientation, areFocusTraversalKeysSet, countComponents, deliverEvent, doLayout, findComponentAt, findComponentAt, getComponent, getComponentAt, getComponentAt, getComponentCount, getComponents, getContainerListeners, getFocusTraversalKeys, getFocusTraversalPolicy, getLayout, insets, invalidate, isAncestorOf, isFocusCycleRoot, isFocusCycleRoot, isFocusTraversalPolicySet, layout, list, list, locate, minimumSize, paintComponents, preferredSize, printComponents, processContainerEvent, processEvent, remove, remove, removeAll, removeContainerListener, setFocusCycleRoot, setFocusTraversalKeys, setFocusTraversalPolicy, setLayout, transferFocusBackward, transferFocusDownCycle, validate, validateTree
 
Methods inherited from class java.awt.Component
action, add, addComponentListener, addFocusListener, addHierarchyBoundsListener, addHierarchyListener, addInputMethodListener, addKeyListener, addMouseListener, addMouseMotionListener, addMouseWheelListener, bounds, checkImage, checkImage, coalesceEvents, contains, createImage, createImage, createVolatileImage, createVolatileImage, disableEvents, dispatchEvent, enable, enableEvents, enableInputMethods, getBackground, getBounds, getColorModel, getComponentListeners, getComponentOrientation, getCursor, getDropTarget, getFocusCycleRootAncestor, getFocusListeners, getFocusTraversalKeysEnabled, getFont, getFontMetrics, getForeground, getGraphicsConfiguration, getHierarchyBoundsListeners, getHierarchyListeners, getIgnoreRepaint, getInputContext, getInputMethodListeners, getInputMethodRequests, getKeyListeners, getLocale, getLocation, getLocationOnScreen, getMouseListeners, getMouseMotionListeners, getMouseWheelListeners, getName, getParent, getPeer, getSize, getToolkit, getTreeLock, gotFocus, handleEvent, hasFocus, hide, imageUpdate, inside, isBackgroundSet, isCursorSet, isDisplayable, isEnabled, isFocusable, isFocusOwner, isFocusTraversable, isFontSet, isForegroundSet, isLightweight, isShowing, isValid, isVisible, keyDown, keyUp, list, list, list, location, lostFocus, mouseDown, mouseDrag, mouseEnter, mouseExit, mouseMove, mouseUp, move, nextFocus, paintAll, postEvent, prepareImage, prepareImage, processComponentEvent, processFocusEvent, processHierarchyBoundsEvent, processHierarchyEvent, processInputMethodEvent, processMouseEvent, processMouseWheelEvent, remove, removeComponentListener, removeFocusListener, removeHierarchyBoundsListener, removeHierarchyListener, removeInputMethodListener, removeKeyListener, removeMouseListener, removeMouseMotionListener, removeMouseWheelListener, repaint, repaint, repaint, resize, resize, setBounds, setBounds, setComponentOrientation, setCursor, setDropTarget, setFocusable, setFocusTraversalKeysEnabled, setIgnoreRepaint, setLocale, setLocation, setLocation, setName, setSize, setSize, show, show, size, toString, transferFocus, transferFocusUpCycle
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
 

Field Detail

m_numFolds

private int m_numFolds

m_randomSeed

private int m_randomSeed

m_foldThread

private java.lang.Thread m_foldThread
Constructor Detail

CrossValidationFoldMaker

public CrossValidationFoldMaker()
Method Detail

globalInfo

public java.lang.String globalInfo()
Global info for this bean

Returns:
a String value

acceptTrainingSet

public void acceptTrainingSet(TrainingSetEvent e)
Accept a training set

Specified by:
acceptTrainingSet in interface TrainingSetListener
Parameters:
e - a TrainingSetEvent value

acceptTestSet

public void acceptTestSet(TestSetEvent e)
Accept a test set

Specified by:
acceptTestSet in interface TestSetListener
Parameters:
e - a TestSetEvent value

acceptDataSet

public void acceptDataSet(DataSetEvent e)
Accept a data set

Specified by:
acceptDataSet in interface DataSourceListener
Specified by:
acceptDataSet in class AbstractTrainAndTestSetProducer
Parameters:
e - a DataSetEvent value

notifyTestSetProduced

private void notifyTestSetProduced(TestSetEvent tse)
Notify all test set listeners of a TestSet event

Parameters:
tse - a TestSetEvent value

notifyTrainingSetProduced

protected void notifyTrainingSetProduced(TrainingSetEvent tse)
Notify all listeners of a TrainingSet event

Parameters:
tse - a TrainingSetEvent value

setFolds

public void setFolds(int numFolds)
Set the number of folds for the cross validation

Parameters:
numFolds - an int value

getFolds

public int getFolds()
Get the currently set number of folds

Returns:
an int value

foldsTipText

public java.lang.String foldsTipText()
Tip text for this property

Returns:
a String value

setSeed

public void setSeed(int randomSeed)
Set the seed

Parameters:
randomSeed - an int value

getSeed

public int getSeed()
Get the currently set seed

Returns:
an int value

seedTipText

public java.lang.String seedTipText()
Tip text for this property

Returns:
a String value

stop

public void stop()
Stop any action

Specified by:
stop in interface BeanCommon
Specified by:
stop in class AbstractTrainAndTestSetProducer

block

private void block(boolean tf)
Function used to stop code that calls acceptDataSet. This is needed as cross validation is performed inside a separate thread of execution.

Parameters:
tf - a boolean value

enumerateRequests

public java.util.Enumeration enumerateRequests()
Return an enumeration of user requests

Specified by:
enumerateRequests in interface UserRequestAcceptor
Returns:
an Enumeration value

performRequest

public void performRequest(java.lang.String request)
Perform the named request

Specified by:
performRequest in interface UserRequestAcceptor
Parameters:
request - a String value
Throws:
java.lang.IllegalArgumentException - if an error occurs

eventGeneratable

public boolean eventGeneratable(java.lang.String eventName)
Returns true, if at the current time, the named event could be generated. Assumes that the supplied event name is an event that could be generated by this bean

Specified by:
eventGeneratable in interface EventConstraints
Parameters:
eventName - the name of the event in question
Returns:
true if the named event could be generated at this point in time