Package weka.gui.beans
Class Classifier
java.lang.Object
java.awt.Component
java.awt.Container
javax.swing.JComponent
javax.swing.JPanel
weka.gui.beans.Classifier
- All Implemented Interfaces:
ImageObserver,MenuContainer,Serializable,EventListener,Accessible,EnvironmentHandler,BeanCommon,ConfigurationProducer,EventConstraints,InstanceListener,TestSetListener,TrainingSetListener,UserRequestAcceptor,Visible,WekaWrapper
public class Classifier
extends JPanel
implements BeanCommon, Visible, WekaWrapper, EventConstraints, Serializable, UserRequestAcceptor, TrainingSetListener, TestSetListener, InstanceListener, ConfigurationProducer, EnvironmentHandler
Bean that wraps around weka.classifiers
- Since:
- 1.0
- Version:
- $Revision: 15231 $
- Author:
- Mark Hall
- See Also:
-
Nested Class Summary
Nested classes/interfaces inherited from class javax.swing.JComponent
JComponent.AccessibleJComponentNested classes/interfaces inherited from class java.awt.Component
Component.BaselineResizeBehavior -
Field Summary
FieldsModifier and TypeFieldDescriptionstatic final Stringthe extension for serialized models (binary Java serialization)Fields inherited from class javax.swing.JComponent
TOOL_TIP_TEXT_KEY, UNDEFINED_CONDITION, WHEN_ANCESTOR_OF_FOCUSED_COMPONENT, WHEN_FOCUSED, WHEN_IN_FOCUSED_WINDOWFields inherited from class java.awt.Component
BOTTOM_ALIGNMENT, CENTER_ALIGNMENT, LEFT_ALIGNMENT, RIGHT_ALIGNMENT, TOP_ALIGNMENTFields inherited from interface java.awt.image.ImageObserver
ABORT, ALLBITS, ERROR, FRAMEBITS, HEIGHT, PROPERTIES, SOMEBITS, WIDTH -
Constructor Summary
Constructors -
Method Summary
Modifier and TypeMethodDescriptionvoidAccepts an instance for incremental processing.voidAccepts a test set for a batch trained classifiervoidAccepts a training set and builds batch classifiervoidAdd a batch classifier listenervoidWe don't have to keep track of configuration listeners (see the documentation for ConfigurationListener/ConfigurationEvent).voidAdd a graph listenervoidAdd an incremental classifier listenervoidAdd a text listenerbooleanReturns true if, at this time, the object will accept a connection according to the supplied EventSetDescriptorbooleanconnectionAllowed(String eventName) Returns true if, at this time, the object will accept a connection with respect to the named eventvoidconnectionNotification(String eventName, Object source) Notify this object that it has been registered as a listener with a source with respect to the named eventvoiddisconnectionNotification(String eventName, Object source) Notify this object that it has been deregistered as a listener with a source with respect to the supplied event nameReturn an enumeration of requests that can be made by the userbooleanReturns true, if at the current time, the event described by the supplied event descriptor could be generated.booleaneventGeneratable(String eventName) Returns true, if at the current time, the named event could be generated.booleanGets whether we are blocking on the last fold of the last run rather than rejecting any further data until all processing has been completed.Get the currently trained classifier.Return the classifier template currently in use.Get the custom (descriptive) name for this bean (if one has been set)intGet the number of execution slots (threads) used to train models.Get the name of the classifier to load at execution time.booleanGet whether to reset (by calling buildClassifier()) an incremental classifier, and thus discarding any previously learned model, before processing the first instance in the incoming stream.booleanGet whether an incremental classifier will be updated on the incoming instance stream.Gets the visual appearance of this wrapper beanReturns the wrapped classifierGlobal info (if it exists) for the wrapped classifierbooleanReturns true if this classifier has an incoming connection that is a batch set of instancesbooleanReturns true if this classifier has an incoming connection that is an instance streambooleanisBusy()Returns true if.voidvoidperformRequest(String request) Perform a particular requestvoidRemove a batch classifier listenervoidWe don't have to keep track of configuration listeners (see the documentation for ConfigurationListener/ConfigurationEvent).voidRemove a graph listenervoidRemove an incremental classifier listenervoidRemove a text listenervoidvoidsetBlockOnLastFold(boolean block) Set whether to block on receiving the last fold of the last run rather than rejecting any further data until all processing is complete.voidSet the template classifier for this wrappervoidsetCustomName(String name) Set a custom (descriptive) name for this beanvoidSet environment variables to pass on to the classifier (if if is an EnvironmentHandler)voidsetExecutionSlots(int slots) Set the number of execution slots (threads) to use to train models with.voidsetLoadClassifierFileName(String filename) Set the name of the classifier to load at execution time.voidSet a loggervoidsetResetIncrementalClassifier(boolean reset) Set whether to reset (by calling buildClassifier()) an incremental classifier, and thus discarding any previously learned model, before processing the first instance in the incoming stream.voidsetUpdateIncrementalClassifier(boolean update) Set whether an incremental classifier will be updated on the incoming instance stream.voidsetVisual(BeanVisual newVisual) Sets the visual appearance of this wrapper beanvoidsetWrappedAlgorithm(Object algorithm) Sets the algorithm (classifier) for this beanvoidstop()Stop any classifier actionvoidUse the default visual appearance for this beanMethods inherited from class javax.swing.JPanel
getAccessibleContext, getUI, getUIClassID, setUI, updateUIMethods inherited from class javax.swing.JComponent
addAncestorListener, addNotify, addVetoableChangeListener, computeVisibleRect, contains, createToolTip, disable, enable, firePropertyChange, firePropertyChange, firePropertyChange, getActionForKeyStroke, getActionMap, getAlignmentX, getAlignmentY, getAncestorListeners, getAutoscrolls, getBaseline, getBaselineResizeBehavior, getBorder, getBounds, getClientProperty, getComponentPopupMenu, getConditionForKeyStroke, getDebugGraphicsOptions, getDefaultLocale, getFontMetrics, getGraphics, getHeight, getInheritsPopupMenu, getInputMap, getInputMap, getInputVerifier, getInsets, getInsets, getListeners, getLocation, getMaximumSize, getMinimumSize, getNextFocusableComponent, getPopupLocation, getPreferredSize, getRegisteredKeyStrokes, getRootPane, getSize, getToolTipLocation, getToolTipText, getToolTipText, getTopLevelAncestor, getTransferHandler, getVerifyInputWhenFocusTarget, getVetoableChangeListeners, getVisibleRect, getWidth, getX, getY, grabFocus, hide, isDoubleBuffered, isLightweightComponent, isManagingFocus, isOpaque, isOptimizedDrawingEnabled, isPaintingForPrint, isPaintingTile, isRequestFocusEnabled, isValidateRoot, paint, paintImmediately, paintImmediately, print, printAll, putClientProperty, registerKeyboardAction, registerKeyboardAction, removeAncestorListener, removeNotify, removeVetoableChangeListener, repaint, repaint, requestDefaultFocus, requestFocus, requestFocus, requestFocusInWindow, resetKeyboardActions, reshape, revalidate, scrollRectToVisible, setActionMap, setAlignmentX, setAlignmentY, setAutoscrolls, setBackground, setBorder, setComponentPopupMenu, setDebugGraphicsOptions, setDefaultLocale, setDoubleBuffered, setEnabled, setFocusTraversalKeys, setFont, setForeground, setInheritsPopupMenu, setInputMap, setInputVerifier, setMaximumSize, setMinimumSize, setNextFocusableComponent, setOpaque, setPreferredSize, setRequestFocusEnabled, setToolTipText, setTransferHandler, setVerifyInputWhenFocusTarget, setVisible, unregisterKeyboardAction, updateMethods inherited from class java.awt.Container
add, add, add, add, add, addContainerListener, addPropertyChangeListener, addPropertyChangeListener, applyComponentOrientation, areFocusTraversalKeysSet, countComponents, deliverEvent, doLayout, findComponentAt, findComponentAt, getComponent, getComponentAt, getComponentAt, getComponentCount, getComponents, getComponentZOrder, getContainerListeners, getFocusTraversalKeys, getFocusTraversalPolicy, getLayout, getMousePosition, insets, invalidate, isAncestorOf, isFocusCycleRoot, isFocusCycleRoot, isFocusTraversalPolicyProvider, isFocusTraversalPolicySet, layout, list, list, locate, minimumSize, paintComponents, preferredSize, printComponents, remove, remove, removeAll, removeContainerListener, setComponentZOrder, setFocusCycleRoot, setFocusTraversalPolicy, setFocusTraversalPolicyProvider, setLayout, transferFocusDownCycle, validateMethods inherited from class java.awt.Component
action, add, addComponentListener, addFocusListener, addHierarchyBoundsListener, addHierarchyListener, addInputMethodListener, addKeyListener, addMouseListener, addMouseMotionListener, addMouseWheelListener, bounds, checkImage, checkImage, contains, createImage, createImage, createVolatileImage, createVolatileImage, dispatchEvent, enable, enableInputMethods, firePropertyChange, firePropertyChange, firePropertyChange, firePropertyChange, firePropertyChange, getBackground, getBounds, getColorModel, getComponentListeners, getComponentOrientation, getCursor, getDropTarget, getFocusCycleRootAncestor, getFocusListeners, getFocusTraversalKeysEnabled, getFont, getForeground, getGraphicsConfiguration, getHierarchyBoundsListeners, getHierarchyListeners, getIgnoreRepaint, getInputContext, getInputMethodListeners, getInputMethodRequests, getKeyListeners, getLocale, getLocation, getLocationOnScreen, getMouseListeners, getMouseMotionListeners, getMousePosition, getMouseWheelListeners, getName, getParent, getPropertyChangeListeners, getPropertyChangeListeners, getSize, getToolkit, getTreeLock, gotFocus, handleEvent, hasFocus, imageUpdate, inside, isBackgroundSet, isCursorSet, isDisplayable, isEnabled, isFocusable, isFocusOwner, isFocusTraversable, isFontSet, isForegroundSet, isLightweight, isMaximumSizeSet, isMinimumSizeSet, isPreferredSizeSet, isShowing, isValid, isVisible, keyDown, keyUp, list, list, list, location, lostFocus, mouseDown, mouseDrag, mouseEnter, mouseExit, mouseMove, mouseUp, move, nextFocus, paintAll, postEvent, prepareImage, prepareImage, remove, removeComponentListener, removeFocusListener, removeHierarchyBoundsListener, removeHierarchyListener, removeInputMethodListener, removeKeyListener, removeMouseListener, removeMouseMotionListener, removeMouseWheelListener, removePropertyChangeListener, removePropertyChangeListener, repaint, repaint, repaint, requestFocus, requestFocusInWindow, resize, resize, setBounds, setBounds, setComponentOrientation, setCursor, setDropTarget, setFocusable, setFocusTraversalKeysEnabled, setIgnoreRepaint, setLocale, setLocation, setLocation, setMixingCutoutShape, setName, setSize, setSize, show, show, size, toString, transferFocus, transferFocusBackward, transferFocusUpCycle
-
Field Details
-
FILE_EXTENSION
the extension for serialized models (binary Java serialization)- See Also:
-
-
Constructor Details
-
Classifier
public Classifier()Creates a newClassifierinstance.
-
-
Method Details
-
globalInfo
Global info (if it exists) for the wrapped classifier- Returns:
- the global info
-
setCustomName
Set a custom (descriptive) name for this bean- Specified by:
setCustomNamein interfaceBeanCommon- Parameters:
name- the name to use
-
getCustomName
Get the custom (descriptive) name for this bean (if one has been set)- Specified by:
getCustomNamein interfaceBeanCommon- Returns:
- the custom name (or the default name)
-
getExecutionSlots
public int getExecutionSlots()Get the number of execution slots (threads) used to train models.- Returns:
- the number of execution slots.
-
setExecutionSlots
public void setExecutionSlots(int slots) Set the number of execution slots (threads) to use to train models with.- Parameters:
slots- the number of execution slots to use.
-
setBlockOnLastFold
public void setBlockOnLastFold(boolean block) Set whether to block on receiving the last fold of the last run rather than rejecting any further data until all processing is complete.- Parameters:
block- true if we should block on the last fold of the last run.
-
getBlockOnLastFold
public boolean getBlockOnLastFold()Gets whether we are blocking on the last fold of the last run rather than rejecting any further data until all processing has been completed.- Returns:
- true if we are blocking on the last fold of the last run
-
setClassifierTemplate
Set the template classifier for this wrapper- Parameters:
c- aweka.classifiers.Classifiervalue
-
getClassifierTemplate
Return the classifier template currently in use.- Returns:
- the classifier template currently in use.
-
hasIncomingStreamInstances
public boolean hasIncomingStreamInstances()Returns true if this classifier has an incoming connection that is an instance stream- Returns:
- true if has an incoming connection that is an instance stream
-
hasIncomingBatchInstances
public boolean hasIncomingBatchInstances()Returns true if this classifier has an incoming connection that is a batch set of instances- Returns:
- a
booleanvalue
-
getClassifier
Get the currently trained classifier.- Returns:
- a
weka.classifiers.Classifiervalue
-
setWrappedAlgorithm
Sets the algorithm (classifier) for this bean- Specified by:
setWrappedAlgorithmin interfaceWekaWrapper- Parameters:
algorithm- anObjectvalue- Throws:
IllegalArgumentException- if an error occurs
-
getWrappedAlgorithm
Returns the wrapped classifier- Specified by:
getWrappedAlgorithmin interfaceWekaWrapper- Returns:
- an
Objectvalue
-
setLoadClassifierFileName
Set the name of the classifier to load at execution time. This only applies in the case where the only incoming connection is a test set connection (batch mode) or an instance connection (incremental mode).- Parameters:
filename- the name of the file to load the model from
-
getLoadClassifierFileName
Get the name of the classifier to load at execution time. This only applies in the case where the only incoming connection is a test set connection (batch mode) or an instance connection (incremental mode).- Returns:
- the name of the file to load the model from
-
setResetIncrementalClassifier
public void setResetIncrementalClassifier(boolean reset) Set whether to reset (by calling buildClassifier()) an incremental classifier, and thus discarding any previously learned model, before processing the first instance in the incoming stream. Note that this happens automatically if the incoming instances structure does not match that of any previous structure used to train the model.- Parameters:
reset- true if the incremental classifier should be reset before processing the first instance in the incoming data stream
-
getResetIncrementalClassifier
public boolean getResetIncrementalClassifier()Get whether to reset (by calling buildClassifier()) an incremental classifier, and thus discarding any previously learned model, before processing the first instance in the incoming stream. Note that this happens automatically if the incoming instances structure does not match that of any previous structure used to train the model. -
getUpdateIncrementalClassifier
public boolean getUpdateIncrementalClassifier()Get whether an incremental classifier will be updated on the incoming instance stream.- Returns:
- true if an incremental classifier is to be updated.
-
setUpdateIncrementalClassifier
public void setUpdateIncrementalClassifier(boolean update) Set whether an incremental classifier will be updated on the incoming instance stream.- Parameters:
update- true if an incremental classifier is to be updated.
-
acceptInstance
Accepts an instance for incremental processing.- Specified by:
acceptInstancein interfaceInstanceListener- Parameters:
e- anInstanceEventvalue
-
acceptTrainingSet
Accepts a training set and builds batch classifier- Specified by:
acceptTrainingSetin interfaceTrainingSetListener- Parameters:
e- aTrainingSetEventvalue
-
acceptTestSet
Accepts a test set for a batch trained classifier- Specified by:
acceptTestSetin interfaceTestSetListener- Parameters:
e- aTestSetEventvalue
-
setVisual
Sets the visual appearance of this wrapper bean -
getVisual
Gets the visual appearance of this wrapper bean -
useDefaultVisual
public void useDefaultVisual()Use the default visual appearance for this bean- Specified by:
useDefaultVisualin interfaceVisible
-
addBatchClassifierListener
Add a batch classifier listener- Parameters:
cl- aBatchClassifierListenervalue
-
removeBatchClassifierListener
Remove a batch classifier listener- Parameters:
cl- aBatchClassifierListenervalue
-
addGraphListener
Add a graph listener- Parameters:
cl- aGraphListenervalue
-
removeGraphListener
Remove a graph listener- Parameters:
cl- aGraphListenervalue
-
addTextListener
Add a text listener- Parameters:
cl- aTextListenervalue
-
removeTextListener
Remove a text listener- Parameters:
cl- aTextListenervalue
-
addConfigurationListener
We don't have to keep track of configuration listeners (see the documentation for ConfigurationListener/ConfigurationEvent).- Specified by:
addConfigurationListenerin interfaceConfigurationProducer- Parameters:
cl- a ConfigurationListener.
-
removeConfigurationListener
We don't have to keep track of configuration listeners (see the documentation for ConfigurationListener/ConfigurationEvent).- Specified by:
removeConfigurationListenerin interfaceConfigurationProducer- Parameters:
cl- a ConfigurationListener.
-
addIncrementalClassifierListener
Add an incremental classifier listener- Parameters:
cl- anIncrementalClassifierListenervalue
-
removeIncrementalClassifierListener
Remove an incremental classifier listener- Parameters:
cl- anIncrementalClassifierListenervalue
-
connectionAllowed
Returns true if, at this time, the object will accept a connection with respect to the named event- Specified by:
connectionAllowedin interfaceBeanCommon- Parameters:
eventName- the event- Returns:
- true if the object will accept a connection
-
connectionAllowed
Returns true if, at this time, the object will accept a connection according to the supplied EventSetDescriptor- Specified by:
connectionAllowedin interfaceBeanCommon- Parameters:
esd- the EventSetDescriptor- Returns:
- true if the object will accept a connection
-
connectionNotification
Notify this object that it has been registered as a listener with a source with respect to the named event- Specified by:
connectionNotificationin interfaceBeanCommon- Parameters:
eventName- the eventsource- the source with which this object has been registered as a listener
-
disconnectionNotification
Notify this object that it has been deregistered as a listener with a source with respect to the supplied event name- Specified by:
disconnectionNotificationin interfaceBeanCommon- Parameters:
eventName- the eventsource- the source with which this object has been registered as a listener
-
stop
public void stop()Stop any classifier action- Specified by:
stopin interfaceBeanCommon
-
loadModel
public void loadModel() -
saveModel
public void saveModel() -
setLog
Set a logger- Specified by:
setLogin interfaceBeanCommon- Parameters:
logger- aLoggervalue
-
enumerateRequests
Return an enumeration of requests that can be made by the user- Specified by:
enumerateRequestsin interfaceUserRequestAcceptor- Returns:
- an
Enumerationvalue
-
performRequest
Perform a particular request- Specified by:
performRequestin interfaceUserRequestAcceptor- Parameters:
request- the request to perform- Throws:
IllegalArgumentException- if an error occurs
-
eventGeneratable
Returns true, if at the current time, the event described by the supplied event descriptor could be generated.- Parameters:
esd- anEventSetDescriptorvalue- Returns:
- a
booleanvalue
-
eventGeneratable
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:
eventGeneratablein interfaceEventConstraints- Parameters:
eventName- the name of the event in question- Returns:
- true if the named event could be generated at this point in time
-
isBusy
public boolean isBusy()Returns true if. at this time, the bean is busy with some (i.e. perhaps a worker thread is performing some calculation).- Specified by:
isBusyin interfaceBeanCommon- Returns:
- true if the bean is busy.
-
setEnvironment
Set environment variables to pass on to the classifier (if if is an EnvironmentHandler)- Specified by:
setEnvironmentin interfaceEnvironmentHandler- Parameters:
env- the environment variables to use
-