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
,BeanCommon
,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
Bean that wraps around weka.classifiers- Since:
- 1.0
- Version:
- $Revision: 10819 $
- Author:
- Mark Hall
- See Also:
JPanel
,BeanCommon
,Visible
,WekaWrapper
,Serializable
,UserRequestAcceptor
,TrainingSetListener
,TestSetListener
, Serialized Form
-
-
Field Summary
Fields Modifier and Type Field Description static java.lang.String
FILE_EXTENSION
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
-
-
Constructor Summary
Constructors Constructor Description Classifier()
Creates a newClassifier
instance.
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description void
acceptInstance(InstanceEvent e)
Accepts an instance for incremental processing.void
acceptTestSet(TestSetEvent e)
Accepts a test set for a batch trained classifiervoid
acceptTrainingSet(TrainingSetEvent e)
Accepts a training set and builds batch classifiervoid
addBatchClassifierListener(BatchClassifierListener cl)
Add a batch classifier listenervoid
addGraphListener(GraphListener cl)
Add a graph listenervoid
addIncrementalClassifierListener(IncrementalClassifierListener cl)
Add an incremental classifier listenervoid
addTextListener(TextListener cl)
Add a text listenerboolean
connectionAllowed(java.beans.EventSetDescriptor esd)
Returns true if, at this time, the object will accept a connection according to the supplied EventSetDescriptorboolean
connectionAllowed(java.lang.String eventName)
Returns true if, at this time, the object will accept a connection with respect to the named eventvoid
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 eventvoid
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 namejava.util.Enumeration
enumerateRequests()
Return an enumeration of requests that can be made by the userboolean
eventGeneratable(java.beans.EventSetDescriptor esd)
Returns true, if at the current time, the event described by the supplied event descriptor could be generated.boolean
eventGeneratable(java.lang.String eventName)
Returns true, if at the current time, the named event could be generated.Classifier
getClassifier()
Get the classifier currently set for this wrapperClassifier
getClassifierTemplate()
Return the classifier template currently in use.java.lang.String
getCustomName()
Get the custom (descriptive) name for this bean (if one has been set)int
getExecutionSlots()
Get the number of execution slots (threads) used to train models.boolean
getUpdateIncrementalClassifier()
Get whether an incremental classifier will be updated on the incoming instance stream.BeanVisual
getVisual()
Gets the visual appearance of this wrapper beanjava.lang.Object
getWrappedAlgorithm()
Returns the wrapped classifierjava.lang.String
globalInfo()
Global info (if it exists) for the wrapped classifierboolean
hasIncomingBatchInstances()
Returns true if this classifier has an incoming connection that is a batch set of instancesboolean
hasIncomingStreamInstances()
Returns true if this classifier has an incoming connection that is an instance streamboolean
isBusy()
Returns true if.void
loadModel()
void
performRequest(java.lang.String request)
Perform a particular requestvoid
removeBatchClassifierListener(BatchClassifierListener cl)
Remove a batch classifier listenervoid
removeGraphListener(GraphListener cl)
Remove a graph listenervoid
removeIncrementalClassifierListener(IncrementalClassifierListener cl)
Remove an incremental classifier listenervoid
removeTextListener(TextListener cl)
Remove a text listenervoid
saveModel()
void
setClassifierTemplate(Classifier c)
Set the classifier for this wrappervoid
setCustomName(java.lang.String name)
Set a custom (descriptive) name for this beanvoid
setExecutionSlots(int slots)
Set the number of execution slots (threads) to use to train models with.void
setLog(Logger logger)
Set a loggervoid
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(java.lang.Object algorithm)
Sets the algorithm (classifier) for this beanvoid
stop()
Stop any classifier actionvoid
useDefaultVisual()
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:
setCustomName
in 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:
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.
-
setClassifierTemplate
public void setClassifierTemplate(Classifier c)
Set the classifier for this wrapper- Parameters:
c
- aweka.classifiers.Classifier
value
-
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
boolean
value
-
getClassifier
public Classifier getClassifier()
Get the classifier currently set for this wrapper- Returns:
- a
weka.classifiers.Classifier
value
-
setWrappedAlgorithm
public void setWrappedAlgorithm(java.lang.Object algorithm)
Sets the algorithm (classifier) for this bean- Specified by:
setWrappedAlgorithm
in interfaceWekaWrapper
- Parameters:
algorithm
- anObject
value- Throws:
java.lang.IllegalArgumentException
- if an error occurs
-
getWrappedAlgorithm
public java.lang.Object getWrappedAlgorithm()
Returns the wrapped classifier- Specified by:
getWrappedAlgorithm
in interfaceWekaWrapper
- Returns:
- an
Object
value
-
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:
acceptInstance
in interfaceInstanceListener
- Parameters:
e
- anInstanceEvent
value
-
acceptTrainingSet
public void acceptTrainingSet(TrainingSetEvent e)
Accepts a training set and builds batch classifier- Specified by:
acceptTrainingSet
in interfaceTrainingSetListener
- Parameters:
e
- aTrainingSetEvent
value
-
acceptTestSet
public void acceptTestSet(TestSetEvent e)
Accepts a test set for a batch trained classifier- Specified by:
acceptTestSet
in interfaceTestSetListener
- Parameters:
e
- aTestSetEvent
value
-
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:
useDefaultVisual
in interfaceVisible
-
addBatchClassifierListener
public void addBatchClassifierListener(BatchClassifierListener cl)
Add a batch classifier listener- Parameters:
cl
- aBatchClassifierListener
value
-
removeBatchClassifierListener
public void removeBatchClassifierListener(BatchClassifierListener cl)
Remove a batch classifier listener- Parameters:
cl
- aBatchClassifierListener
value
-
addGraphListener
public void addGraphListener(GraphListener cl)
Add a graph listener- Parameters:
cl
- aGraphListener
value
-
removeGraphListener
public void removeGraphListener(GraphListener cl)
Remove a graph listener- Parameters:
cl
- aGraphListener
value
-
addTextListener
public void addTextListener(TextListener cl)
Add a text listener- Parameters:
cl
- aTextListener
value
-
removeTextListener
public void removeTextListener(TextListener cl)
Remove a text listener- Parameters:
cl
- aTextListener
value
-
addIncrementalClassifierListener
public void addIncrementalClassifierListener(IncrementalClassifierListener cl)
Add an incremental classifier listener- Parameters:
cl
- anIncrementalClassifierListener
value
-
removeIncrementalClassifierListener
public void removeIncrementalClassifierListener(IncrementalClassifierListener cl)
Remove an incremental classifier listener- Parameters:
cl
- anIncrementalClassifierListener
value
-
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:
connectionAllowed
in 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:
connectionAllowed
in 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:
connectionNotification
in 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:
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
public void setLog(Logger logger)
Set a logger- Specified by:
setLog
in interfaceBeanCommon
- Parameters:
logger
- aLogger
value
-
enumerateRequests
public java.util.Enumeration enumerateRequests()
Return an enumeration of requests that can be made by the user- Specified by:
enumerateRequests
in interfaceUserRequestAcceptor
- Returns:
- an
Enumeration
value
-
performRequest
public void performRequest(java.lang.String request)
Perform a particular request- Specified by:
performRequest
in 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
- anEventSetDescriptor
value- Returns:
- a
boolean
value
-
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 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.
-
-