public class Classifier extends javax.swing.JPanel implements BeanCommon, Visible, WekaWrapper, EventConstraints, java.io.Serializable, UserRequestAcceptor, TrainingSetListener, TestSetListener, InstanceListener, ConfigurationProducer, EnvironmentHandler
JPanel,
BeanCommon,
Visible,
WekaWrapper,
Serializable,
UserRequestAcceptor,
TrainingSetListener,
TestSetListener,
EnvironmentHandler,
Serialized Form| Modifier and Type | Class and Description |
|---|---|
protected class |
Classifier.TrainingTask |
javax.swing.JPanel.AccessibleJPaneljavax.swing.JComponent.AccessibleJComponent| Modifier and Type | Field and Description |
|---|---|
static java.lang.String |
FILE_EXTENSION
the extension for serialized models (binary Java serialization)
|
protected boolean |
m_batchStarted |
protected javax.swing.filechooser.FileFilter |
m_binaryFilter |
protected boolean |
m_block
True if we should block rather reject until all processing has been
completed.
|
protected boolean[][] |
m_completedSets
Stores which sets from which runs have been completed.
|
protected java.util.Date |
m_currentBatchIdentifier
Identifier for the current batch.
|
protected Environment |
m_env |
protected int |
m_executionSlots
Number of threads to use to train models with
|
protected java.util.concurrent.ThreadPoolExecutor |
m_executorPool
Pool of threads to train models on incoming data
|
protected java.lang.String |
m_globalInfo
Global info for the wrapped classifier (if it exists).
|
protected javax.swing.filechooser.FileFilter |
m_KOMLFilter |
protected java.util.HashMap<java.lang.String,java.util.List<java.lang.Object>> |
m_listenees
Objects talking to us.
|
protected java.lang.String |
m_loadModelFileName
Optional file to load a pre-trained model to score with (batch, or to score
and update (incremental) in the case of testSet only (batch) or instance
(incremental) connections
|
protected java.lang.String |
m_oldText
Holds original icon label text
|
protected BatchClassifierEvent[][] |
m_outputQueues
Stores completed models and associated data sets.
|
protected boolean |
m_reject
true if we should reject any further training data sets, until all
processing has been finished, once we've received the last fold of the last
run.
|
protected StreamThroughput |
m_throughput |
protected BeanVisual |
m_visual |
protected javax.swing.filechooser.FileFilter |
m_XStreamFilter |
listenerList, TOOL_TIP_TEXT_KEY, ui, UNDEFINED_CONDITION, WHEN_ANCESTOR_OF_FOCUSED_COMPONENT, WHEN_FOCUSED, WHEN_IN_FOCUSED_WINDOW| Constructor and Description |
|---|
Classifier()
Creates a new
Classifier instance. |
| Modifier and Type | Method and Description |
|---|---|
void |
acceptInstance(InstanceEvent e)
Accepts an instance for incremental processing.
|
void |
acceptTestSet(TestSetEvent e)
Accepts a test set for a batch trained classifier
|
void |
acceptTrainingSet(TrainingSetEvent e)
Accepts a training set and builds batch classifier
|
void |
addBatchClassifierListener(BatchClassifierListener cl)
Add a batch classifier listener
|
void |
addConfigurationListener(ConfigurationListener cl)
We don't have to keep track of configuration listeners (see the
documentation for ConfigurationListener/ConfigurationEvent).
|
void |
addGraphListener(GraphListener cl)
Add a graph listener
|
void |
addIncrementalClassifierListener(IncrementalClassifierListener cl)
Add an incremental classifier listener
|
void |
addTextListener(TextListener cl)
Add a text listener
|
protected static boolean |
allMissingClass(Instances toCheck)
Check if the class is missing for all instances in the supplied set
|
boolean |
connectionAllowed(java.beans.EventSetDescriptor esd)
Returns true if, at this time, the object will accept a connection
according to the supplied EventSetDescriptor
|
boolean |
connectionAllowed(java.lang.String eventName)
Returns true if, at this time, the object will accept a connection with
respect to the named event
|
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
|
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
|
java.util.Enumeration<java.lang.String> |
enumerateRequests()
Return an enumeration of requests that can be made by the user
|
boolean |
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.
|
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.
|
Classifier |
getClassifier()
Get the currently trained classifier.
|
Classifier |
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.
|
java.lang.String |
getLoadClassifierFileName()
Get the name of the classifier to load at execution time.
|
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.
|
boolean |
getUpdateIncrementalClassifier()
Get whether an incremental classifier will be updated on the incoming
instance stream.
|
BeanVisual |
getVisual()
Gets the visual appearance of this wrapper bean
|
java.lang.Object |
getWrappedAlgorithm()
Returns the wrapped classifier
|
java.lang.String |
globalInfo()
Global info (if it exists) for the wrapped classifier
|
boolean |
hasIncomingBatchInstances()
Returns true if this classifier has an incoming connection that is a batch
set of instances
|
boolean |
hasIncomingStreamInstances()
Returns true if this classifier has an incoming connection that is an
instance stream
|
boolean |
isBusy()
Returns true if. at this time, the bean is busy with some (i.e. perhaps a
worker thread is performing some calculation).
|
protected void |
loadFromFile(java.io.File loadFrom) |
void |
loadModel() |
void |
performRequest(java.lang.String request)
Perform a particular request
|
void |
removeBatchClassifierListener(BatchClassifierListener cl)
Remove a batch classifier listener
|
void |
removeConfigurationListener(ConfigurationListener cl)
We don't have to keep track of configuration listeners (see the
documentation for ConfigurationListener/ConfigurationEvent).
|
void |
removeGraphListener(GraphListener cl)
Remove a graph listener
|
void |
removeIncrementalClassifierListener(IncrementalClassifierListener cl)
Remove an incremental classifier listener
|
void |
removeTextListener(TextListener cl)
Remove a text listener
|
void |
saveModel() |
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 |
setClassifierTemplate(Classifier c)
Set the template classifier for this wrapper
|
void |
setCustomName(java.lang.String name)
Set a custom (descriptive) name for this bean
|
void |
setEnvironment(Environment env)
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(java.lang.String filename)
Set the name of the classifier to load at execution time.
|
void |
setLog(Logger logger)
Set a logger
|
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.
|
void |
setUpdateIncrementalClassifier(boolean update)
Set whether an incremental classifier will be updated on the incoming
instance stream.
|
protected void |
setupFileChooser() |
void |
setVisual(BeanVisual newVisual)
Sets the visual appearance of this wrapper bean
|
void |
setWrappedAlgorithm(java.lang.Object algorithm)
Sets the algorithm (classifier) for this bean
|
void |
stop()
Stop any classifier action
|
void |
useDefaultVisual()
Use the default visual appearance for this bean
|
getAccessibleContext, getUI, getUIClassID, paramString, setUI, updateUIaddAncestorListener, addNotify, addVetoableChangeListener, computeVisibleRect, contains, createToolTip, disable, enable, firePropertyChange, firePropertyChange, firePropertyChange, fireVetoableChange, getActionForKeyStroke, getActionMap, getAlignmentX, getAlignmentY, getAncestorListeners, getAutoscrolls, getBaseline, getBaselineResizeBehavior, getBorder, getBounds, getClientProperty, getComponentGraphics, 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, isPaintingOrigin, isPaintingTile, isRequestFocusEnabled, isValidateRoot, paint, paintBorder, paintChildren, paintComponent, paintImmediately, paintImmediately, print, printAll, printBorder, printChildren, printComponent, processComponentKeyEvent, processKeyBinding, processKeyEvent, processMouseEvent, processMouseMotionEvent, putClientProperty, registerKeyboardAction, registerKeyboardAction, removeAncestorListener, removeNotify, removeVetoableChangeListener, repaint, repaint, requestDefaultFocus, requestFocus, requestFocus, requestFocusInWindow, 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, setUI, setVerifyInputWhenFocusTarget, setVisible, unregisterKeyboardAction, updateadd, add, add, add, add, addContainerListener, addImpl, 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, processContainerEvent, processEvent, remove, remove, removeAll, removeContainerListener, setComponentZOrder, setFocusCycleRoot, setFocusTraversalPolicy, setFocusTraversalPolicyProvider, setLayout, transferFocusDownCycle, validate, validateTreeaction, add, addComponentListener, addFocusListener, addHierarchyBoundsListener, addHierarchyListener, addInputMethodListener, addKeyListener, addMouseListener, addMouseMotionListener, addMouseWheelListener, bounds, checkImage, checkImage, coalesceEvents, contains, createImage, createImage, createVolatileImage, createVolatileImage, disableEvents, dispatchEvent, enable, enableEvents, enableInputMethods, firePropertyChange, 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, getPeer, 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, processComponentEvent, processFocusEvent, processHierarchyBoundsEvent, processHierarchyEvent, processInputMethodEvent, processMouseWheelEvent, remove, removeComponentListener, removeFocusListener, removeHierarchyBoundsListener, removeHierarchyListener, removeInputMethodListener, removeKeyListener, removeMouseListener, removeMouseMotionListener, removeMouseWheelListener, removePropertyChangeListener, removePropertyChangeListener, repaint, repaint, repaint, resize, resize, setBounds, setBounds, setComponentOrientation, setCursor, setDropTarget, setFocusable, setFocusTraversalKeysEnabled, setIgnoreRepaint, setLocale, setLocation, setLocation, setName, setSize, setSize, show, show, size, toString, transferFocus, transferFocusBackward, transferFocusUpCycleprotected BeanVisual m_visual
protected java.lang.String m_globalInfo
protected java.util.HashMap<java.lang.String,java.util.List<java.lang.Object>> m_listenees
public static final java.lang.String FILE_EXTENSION
protected javax.swing.filechooser.FileFilter m_binaryFilter
protected javax.swing.filechooser.FileFilter m_KOMLFilter
protected javax.swing.filechooser.FileFilter m_XStreamFilter
protected transient Environment m_env
protected int m_executionSlots
protected transient java.util.concurrent.ThreadPoolExecutor m_executorPool
protected transient BatchClassifierEvent[][] m_outputQueues
protected transient boolean[][] m_completedSets
protected transient java.util.Date m_currentBatchIdentifier
protected transient boolean m_batchStarted
protected java.lang.String m_oldText
protected boolean m_reject
protected boolean m_block
protected java.lang.String m_loadModelFileName
protected transient StreamThroughput m_throughput
public java.lang.String globalInfo()
public void setCustomName(java.lang.String name)
setCustomName in interface BeanCommonname - the name to usepublic java.lang.String getCustomName()
getCustomName in interface BeanCommonprotected void setupFileChooser()
public int getExecutionSlots()
public void setExecutionSlots(int slots)
slots - the number of execution slots to use.public void setBlockOnLastFold(boolean block)
block - true if we should block on the last fold of the last run.public boolean getBlockOnLastFold()
public void setClassifierTemplate(Classifier c)
c - a weka.classifiers.Classifier valuepublic Classifier getClassifierTemplate()
public boolean hasIncomingStreamInstances()
public boolean hasIncomingBatchInstances()
boolean valuepublic Classifier getClassifier()
weka.classifiers.Classifier valuepublic void setWrappedAlgorithm(java.lang.Object algorithm)
setWrappedAlgorithm in interface WekaWrapperalgorithm - an Object valuejava.lang.IllegalArgumentException - if an error occurspublic java.lang.Object getWrappedAlgorithm()
getWrappedAlgorithm in interface WekaWrapperObject valuepublic void setLoadClassifierFileName(java.lang.String filename)
filename - the name of the file to load the model frompublic java.lang.String getLoadClassifierFileName()
public void setResetIncrementalClassifier(boolean reset)
reset - true if the incremental classifier should be reset before
processing the first instance in the incoming data streampublic boolean getResetIncrementalClassifier()
public boolean getUpdateIncrementalClassifier()
public void setUpdateIncrementalClassifier(boolean update)
update - true if an incremental classifier is to be updated.public void acceptInstance(InstanceEvent e)
acceptInstance in interface InstanceListenere - an InstanceEvent valuepublic void acceptTrainingSet(TrainingSetEvent e)
acceptTrainingSet in interface TrainingSetListenere - a TrainingSetEvent valueprotected static boolean allMissingClass(Instances toCheck)
toCheck - the instances to checkpublic void acceptTestSet(TestSetEvent e)
acceptTestSet in interface TestSetListenere - a TestSetEvent valuepublic void setVisual(BeanVisual newVisual)
public BeanVisual getVisual()
public void useDefaultVisual()
useDefaultVisual in interface Visiblepublic void addBatchClassifierListener(BatchClassifierListener cl)
cl - a BatchClassifierListener valuepublic void removeBatchClassifierListener(BatchClassifierListener cl)
cl - a BatchClassifierListener valuepublic void addGraphListener(GraphListener cl)
cl - a GraphListener valuepublic void removeGraphListener(GraphListener cl)
cl - a GraphListener valuepublic void addTextListener(TextListener cl)
cl - a TextListener valuepublic void removeTextListener(TextListener cl)
cl - a TextListener valuepublic void addConfigurationListener(ConfigurationListener cl)
addConfigurationListener in interface ConfigurationProducercl - a ConfigurationListener.public void removeConfigurationListener(ConfigurationListener cl)
removeConfigurationListener in interface ConfigurationProducercl - a ConfigurationListener.public void addIncrementalClassifierListener(IncrementalClassifierListener cl)
cl - an IncrementalClassifierListener valuepublic void removeIncrementalClassifierListener(IncrementalClassifierListener cl)
cl - an IncrementalClassifierListener valuepublic boolean connectionAllowed(java.lang.String eventName)
connectionAllowed in interface BeanCommoneventName - the eventpublic boolean connectionAllowed(java.beans.EventSetDescriptor esd)
connectionAllowed in interface BeanCommonesd - the EventSetDescriptorpublic void connectionNotification(java.lang.String eventName,
java.lang.Object source)
connectionNotification in interface BeanCommoneventName - the eventsource - the source with which this object has been registered as a
listenerpublic void disconnectionNotification(java.lang.String eventName,
java.lang.Object source)
disconnectionNotification in interface BeanCommoneventName - the eventsource - the source with which this object has been registered as a
listenerpublic void stop()
stop in interface BeanCommonpublic void loadModel()
protected void loadFromFile(java.io.File loadFrom)
throws java.lang.Exception
java.lang.Exceptionpublic void saveModel()
public void setLog(Logger logger)
setLog in interface BeanCommonlogger - a Logger valuepublic java.util.Enumeration<java.lang.String> enumerateRequests()
enumerateRequests in interface UserRequestAcceptorEnumeration valuepublic void performRequest(java.lang.String request)
performRequest in interface UserRequestAcceptorrequest - the request to performjava.lang.IllegalArgumentException - if an error occurspublic boolean eventGeneratable(java.beans.EventSetDescriptor esd)
esd - an EventSetDescriptor valueboolean valuepublic boolean eventGeneratable(java.lang.String eventName)
eventGeneratable in interface EventConstraintseventName - the name of the event in questionpublic boolean isBusy()
isBusy in interface BeanCommonpublic void setEnvironment(Environment env)
setEnvironment in interface EnvironmentHandlerenv - the environment variables to
use