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:
java.awt.image.ImageObserver,java.awt.MenuContainer,java.io.Serializable,java.util.EventListener,javax.accessibility.Accessible,EnvironmentHandler,BeanCommon,ConfigurationProducer,EventConstraints,InstanceListener,TestSetListener,TrainingSetListener,UserRequestAcceptor,Visible,WekaWrapper
public class Classifier extends javax.swing.JPanel implements BeanCommon, Visible, WekaWrapper, EventConstraints, java.io.Serializable, UserRequestAcceptor, TrainingSetListener, TestSetListener, InstanceListener, ConfigurationProducer, EnvironmentHandler
Bean that wraps around weka.classifiers- Since:
- 1.0
- Version:
- $Revision: 15231 $
- Author:
- Mark Hall
- See Also:
JPanel,BeanCommon,Visible,WekaWrapper,Serializable,UserRequestAcceptor,TrainingSetListener,TestSetListener,EnvironmentHandler, Serialized Form
-
-
Field Summary
Fields Modifier and Type Field Description static java.lang.StringFILE_EXTENSIONthe 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
-
-
Constructor Summary
Constructors Constructor Description Classifier()Creates a newClassifierinstance.
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description voidacceptInstance(InstanceEvent e)Accepts an instance for incremental processing.voidacceptTestSet(TestSetEvent e)Accepts a test set for a batch trained classifiervoidacceptTrainingSet(TrainingSetEvent e)Accepts a training set and builds batch classifiervoidaddBatchClassifierListener(BatchClassifierListener cl)Add a batch classifier listenervoidaddConfigurationListener(ConfigurationListener cl)We don't have to keep track of configuration listeners (see the documentation for ConfigurationListener/ConfigurationEvent).voidaddGraphListener(GraphListener cl)Add a graph listenervoidaddIncrementalClassifierListener(IncrementalClassifierListener cl)Add an incremental classifier listenervoidaddTextListener(TextListener cl)Add a text listenerbooleanconnectionAllowed(java.beans.EventSetDescriptor esd)Returns true if, at this time, the object will accept a connection according to the supplied EventSetDescriptorbooleanconnectionAllowed(java.lang.String eventName)Returns true if, at this time, the object will accept a connection with respect to the named eventvoidconnectionNotification(java.lang.String eventName, java.lang.Object source)Notify this object that it has been registered as a listener with a source with respect to the named eventvoiddisconnectionNotification(java.lang.String eventName, java.lang.Object source)Notify this object that it has been deregistered as a listener with a source with respect to the supplied event namejava.util.Enumeration<java.lang.String>enumerateRequests()Return an enumeration of requests that can be made by the userbooleaneventGeneratable(java.beans.EventSetDescriptor esd)Returns true, if at the current time, the event described by the supplied event descriptor could be generated.booleaneventGeneratable(java.lang.String eventName)Returns true, if at the current time, the named event could be generated.booleangetBlockOnLastFold()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.ClassifiergetClassifier()Get the currently trained classifier.ClassifiergetClassifierTemplate()Return the classifier template currently in use.java.lang.StringgetCustomName()Get the custom (descriptive) name for this bean (if one has been set)intgetExecutionSlots()Get the number of execution slots (threads) used to train models.java.lang.StringgetLoadClassifierFileName()Get the name of the classifier to load at execution time.booleangetResetIncrementalClassifier()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.booleangetUpdateIncrementalClassifier()Get whether an incremental classifier will be updated on the incoming instance stream.BeanVisualgetVisual()Gets the visual appearance of this wrapper beanjava.lang.ObjectgetWrappedAlgorithm()Returns the wrapped classifierjava.lang.StringglobalInfo()Global info (if it exists) for the wrapped classifierbooleanhasIncomingBatchInstances()Returns true if this classifier has an incoming connection that is a batch set of instancesbooleanhasIncomingStreamInstances()Returns true if this classifier has an incoming connection that is an instance streambooleanisBusy()Returns true if.voidloadModel()voidperformRequest(java.lang.String request)Perform a particular requestvoidremoveBatchClassifierListener(BatchClassifierListener cl)Remove a batch classifier listenervoidremoveConfigurationListener(ConfigurationListener cl)We don't have to keep track of configuration listeners (see the documentation for ConfigurationListener/ConfigurationEvent).voidremoveGraphListener(GraphListener cl)Remove a graph listenervoidremoveIncrementalClassifierListener(IncrementalClassifierListener cl)Remove an incremental classifier listenervoidremoveTextListener(TextListener cl)Remove a text listenervoidsaveModel()voidsetBlockOnLastFold(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.voidsetClassifierTemplate(Classifier c)Set the template classifier for this wrappervoidsetCustomName(java.lang.String name)Set a custom (descriptive) name for this beanvoidsetEnvironment(Environment env)Set 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(java.lang.String filename)Set the name of the classifier to load at execution time.voidsetLog(Logger logger)Set 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(java.lang.Object algorithm)Sets the algorithm (classifier) for this beanvoidstop()Stop any classifier actionvoiduseDefaultVisual()Use the default visual appearance for this bean-
Methods 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 Detail
-
FILE_EXTENSION
public static final java.lang.String FILE_EXTENSION
the extension for serialized models (binary Java serialization)- See Also:
- Constant Field Values
-
-
Method Detail
-
globalInfo
public java.lang.String globalInfo()
Global info (if it exists) for the wrapped classifier- Returns:
- the global info
-
setCustomName
public void setCustomName(java.lang.String name)
Set a custom (descriptive) name for this bean- Specified by:
setCustomNamein interfaceBeanCommon- Parameters:
name- the name to use
-
getCustomName
public java.lang.String 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
public void setClassifierTemplate(Classifier c)
Set the template classifier for this wrapper- Parameters:
c- aweka.classifiers.Classifiervalue
-
getClassifierTemplate
public Classifier 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
public Classifier getClassifier()
Get the currently trained classifier.- Returns:
- a
weka.classifiers.Classifiervalue
-
setWrappedAlgorithm
public void setWrappedAlgorithm(java.lang.Object algorithm)
Sets the algorithm (classifier) for this bean- Specified by:
setWrappedAlgorithmin interfaceWekaWrapper- Parameters:
algorithm- anObjectvalue- Throws:
java.lang.IllegalArgumentException- if an error occurs
-
getWrappedAlgorithm
public java.lang.Object getWrappedAlgorithm()
Returns the wrapped classifier- Specified by:
getWrappedAlgorithmin interfaceWekaWrapper- Returns:
- an
Objectvalue
-
setLoadClassifierFileName
public void setLoadClassifierFileName(java.lang.String filename)
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
public java.lang.String 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
public void acceptInstance(InstanceEvent e)
Accepts an instance for incremental processing.- Specified by:
acceptInstancein interfaceInstanceListener- Parameters:
e- anInstanceEventvalue
-
acceptTrainingSet
public void acceptTrainingSet(TrainingSetEvent e)
Accepts a training set and builds batch classifier- Specified by:
acceptTrainingSetin interfaceTrainingSetListener- Parameters:
e- aTrainingSetEventvalue
-
acceptTestSet
public void acceptTestSet(TestSetEvent e)
Accepts a test set for a batch trained classifier- Specified by:
acceptTestSetin interfaceTestSetListener- Parameters:
e- aTestSetEventvalue
-
setVisual
public void setVisual(BeanVisual newVisual)
Sets the visual appearance of this wrapper bean
-
getVisual
public BeanVisual 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
public void addBatchClassifierListener(BatchClassifierListener cl)
Add a batch classifier listener- Parameters:
cl- aBatchClassifierListenervalue
-
removeBatchClassifierListener
public void removeBatchClassifierListener(BatchClassifierListener cl)
Remove a batch classifier listener- Parameters:
cl- aBatchClassifierListenervalue
-
addGraphListener
public void addGraphListener(GraphListener cl)
Add a graph listener- Parameters:
cl- aGraphListenervalue
-
removeGraphListener
public void removeGraphListener(GraphListener cl)
Remove a graph listener- Parameters:
cl- aGraphListenervalue
-
addTextListener
public void addTextListener(TextListener cl)
Add a text listener- Parameters:
cl- aTextListenervalue
-
removeTextListener
public void removeTextListener(TextListener cl)
Remove a text listener- Parameters:
cl- aTextListenervalue
-
addConfigurationListener
public void addConfigurationListener(ConfigurationListener cl)
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
public void removeConfigurationListener(ConfigurationListener cl)
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
public void addIncrementalClassifierListener(IncrementalClassifierListener cl)
Add an incremental classifier listener- Parameters:
cl- anIncrementalClassifierListenervalue
-
removeIncrementalClassifierListener
public void removeIncrementalClassifierListener(IncrementalClassifierListener cl)
Remove an incremental classifier listener- Parameters:
cl- anIncrementalClassifierListenervalue
-
connectionAllowed
public boolean connectionAllowed(java.lang.String eventName)
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
public boolean connectionAllowed(java.beans.EventSetDescriptor esd)
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
public void connectionNotification(java.lang.String eventName, java.lang.Object source)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
public void disconnectionNotification(java.lang.String eventName, java.lang.Object source)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
public void setLog(Logger logger)
Set a logger- Specified by:
setLogin interfaceBeanCommon- Parameters:
logger- aLoggervalue
-
enumerateRequests
public java.util.Enumeration<java.lang.String> enumerateRequests()
Return an enumeration of requests that can be made by the user- Specified by:
enumerateRequestsin interfaceUserRequestAcceptor- Returns:
- an
Enumerationvalue
-
performRequest
public void performRequest(java.lang.String request)
Perform a particular request- Specified by:
performRequestin interfaceUserRequestAcceptor- Parameters:
request- the request to perform- Throws:
java.lang.IllegalArgumentException- if an error occurs
-
eventGeneratable
public boolean eventGeneratable(java.beans.EventSetDescriptor esd)
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
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:
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
public void setEnvironment(Environment env)
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
-
-