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: 15230 $
- Author:
- Mark Hall
- See Also:
-
Nested Class Summary
Nested classes/interfaces inherited from class javax.swing.JComponent
JComponent.AccessibleJComponent
Nested classes/interfaces inherited from class java.awt.Component
Component.BaselineResizeBehavior
-
Field Summary
Modifier and TypeFieldDescriptionstatic final String
the 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_WINDOW
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
-
Method Summary
Modifier and TypeMethodDescriptionvoid
Accepts an instance for incremental processing.void
Accepts a test set for a batch trained classifiervoid
Accepts a training set and builds batch classifiervoid
Add a batch classifier listenervoid
We don't have to keep track of configuration listeners (see the documentation for ConfigurationListener/ConfigurationEvent).void
Add a graph listenervoid
Add an incremental classifier listenervoid
Add a text listenerboolean
Returns true if, at this time, the object will accept a connection according to the supplied EventSetDescriptorboolean
connectionAllowed
(String eventName) Returns true if, at this time, the object will accept a connection with respect to the named eventvoid
connectionNotification
(String eventName, Object source) Notify this object that it has been registered as a listener with a source with respect to the named eventvoid
disconnectionNotification
(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 userboolean
Returns true, if at the current time, the event described by the supplied event descriptor could be generated.boolean
eventGeneratable
(String eventName) Returns true, if at the current time, the named event could be generated.boolean
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.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)int
Get the number of execution slots (threads) used to train models.Get the name of the classifier to load at execution time.boolean
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.boolean
Get 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 classifierboolean
Returns true if this classifier has an incoming connection that is a batch set of instancesboolean
Returns true if this classifier has an incoming connection that is an instance streamboolean
isBusy()
Returns true if.void
void
performRequest
(String request) Perform a particular requestvoid
Remove a batch classifier listenervoid
We don't have to keep track of configuration listeners (see the documentation for ConfigurationListener/ConfigurationEvent).void
Remove a graph listenervoid
Remove an incremental classifier listenervoid
Remove a text listenervoid
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.void
Set the template classifier for this wrappervoid
setCustomName
(String name) Set a custom (descriptive) name for this beanvoid
Set environment variables to pass on to the classifier (if if is an EnvironmentHandler)void
setExecutionSlots
(int slots) Set the number of execution slots (threads) to use to train models with.void
setLoadClassifierFileName
(String filename) Set the name of the classifier to load at execution time.void
Set a loggervoid
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.void
setUpdateIncrementalClassifier
(boolean update) Set whether an incremental classifier will be updated on the incoming instance stream.void
setVisual
(BeanVisual newVisual) Sets the visual appearance of this wrapper beanvoid
setWrappedAlgorithm
(Object algorithm) Sets the algorithm (classifier) for this beanvoid
stop()
Stop any classifier actionvoid
Use the default visual appearance for this beanMethods inherited from class javax.swing.JPanel
getAccessibleContext, getUI, getUIClassID, setUI, updateUI
Methods 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, update
Methods 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, validate
Methods 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 newClassifier
instance.
-
-
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:
setCustomName
in interfaceBeanCommon
- Parameters:
name
- the name to use
-
getCustomName
Get the custom (descriptive) name for this bean (if one has been set)- Specified by:
getCustomName
in 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.Classifier
value
-
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
boolean
value
-
getClassifier
Get the currently trained classifier.- Returns:
- a
weka.classifiers.Classifier
value
-
setWrappedAlgorithm
Sets the algorithm (classifier) for this bean- Specified by:
setWrappedAlgorithm
in interfaceWekaWrapper
- Parameters:
algorithm
- anObject
value- Throws:
IllegalArgumentException
- if an error occurs
-
getWrappedAlgorithm
Returns the wrapped classifier- Specified by:
getWrappedAlgorithm
in interfaceWekaWrapper
- Returns:
- an
Object
value
-
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:
acceptInstance
in interfaceInstanceListener
- Parameters:
e
- anInstanceEvent
value
-
acceptTrainingSet
Accepts a training set and builds batch classifier- Specified by:
acceptTrainingSet
in interfaceTrainingSetListener
- Parameters:
e
- aTrainingSetEvent
value
-
acceptTestSet
Accepts a test set for a batch trained classifier- Specified by:
acceptTestSet
in interfaceTestSetListener
- Parameters:
e
- aTestSetEvent
value
-
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:
useDefaultVisual
in interfaceVisible
-
addBatchClassifierListener
Add a batch classifier listener- Parameters:
cl
- aBatchClassifierListener
value
-
removeBatchClassifierListener
Remove a batch classifier listener- Parameters:
cl
- aBatchClassifierListener
value
-
addGraphListener
Add a graph listener- Parameters:
cl
- aGraphListener
value
-
removeGraphListener
Remove a graph listener- Parameters:
cl
- aGraphListener
value
-
addTextListener
Add a text listener- Parameters:
cl
- aTextListener
value
-
removeTextListener
Remove a text listener- Parameters:
cl
- aTextListener
value
-
addConfigurationListener
We don't have to keep track of configuration listeners (see the documentation for ConfigurationListener/ConfigurationEvent).- Specified by:
addConfigurationListener
in interfaceConfigurationProducer
- Parameters:
cl
- a ConfigurationListener.
-
removeConfigurationListener
We don't have to keep track of configuration listeners (see the documentation for ConfigurationListener/ConfigurationEvent).- Specified by:
removeConfigurationListener
in interfaceConfigurationProducer
- Parameters:
cl
- a ConfigurationListener.
-
addIncrementalClassifierListener
Add an incremental classifier listener- Parameters:
cl
- anIncrementalClassifierListener
value
-
removeIncrementalClassifierListener
Remove an incremental classifier listener- Parameters:
cl
- anIncrementalClassifierListener
value
-
connectionAllowed
Returns true if, at this time, the object will accept a connection with respect to the named event- Specified by:
connectionAllowed
in 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:
connectionAllowed
in 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:
connectionNotification
in 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:
disconnectionNotification
in 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:
stop
in interfaceBeanCommon
-
loadModel
public void loadModel() -
saveModel
public void saveModel() -
setLog
Set a logger- Specified by:
setLog
in interfaceBeanCommon
- Parameters:
logger
- aLogger
value
-
enumerateRequests
Return an enumeration of requests that can be made by the user- Specified by:
enumerateRequests
in interfaceUserRequestAcceptor
- Returns:
- an
Enumeration
value
-
performRequest
Perform a particular request- Specified by:
performRequest
in 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
- anEventSetDescriptor
value- Returns:
- a
boolean
value
-
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:
eventGeneratable
in 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:
isBusy
in 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:
setEnvironment
in interfaceEnvironmentHandler
- Parameters:
env
- the environment variables to use
-