Class Classifier

All Implemented Interfaces:
ImageObserver, MenuContainer, Serializable, EventListener, Accessible, EnvironmentHandler, BeanCommon, ConfigurationProducer, EventConstraints, InstanceListener, TestSetListener, TrainingSetListener, UserRequestAcceptor, Visible, WekaWrapper

Bean that wraps around weka.classifiers
Since:
1.0
Version:
$Revision: 15230 $
Author:
Mark Hall
See Also:
  • Field Details

    • FILE_EXTENSION

      public static final String FILE_EXTENSION
      the extension for serialized models (binary Java serialization)
      See Also:
  • Constructor Details

    • Classifier

      public Classifier()
      Creates a new Classifier instance.
  • Method Details

    • globalInfo

      public String globalInfo()
      Global info (if it exists) for the wrapped classifier
      Returns:
      the global info
    • setCustomName

      public void setCustomName(String name)
      Set a custom (descriptive) name for this bean
      Specified by:
      setCustomName in interface BeanCommon
      Parameters:
      name - the name to use
    • getCustomName

      public String getCustomName()
      Get the custom (descriptive) name for this bean (if one has been set)
      Specified by:
      getCustomName in interface BeanCommon
      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 - a weka.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 currently trained classifier.
      Returns:
      a weka.classifiers.Classifier value
    • setWrappedAlgorithm

      public void setWrappedAlgorithm(Object algorithm)
      Sets the algorithm (classifier) for this bean
      Specified by:
      setWrappedAlgorithm in interface WekaWrapper
      Parameters:
      algorithm - an Object value
      Throws:
      IllegalArgumentException - if an error occurs
    • getWrappedAlgorithm

      public Object getWrappedAlgorithm()
      Returns the wrapped classifier
      Specified by:
      getWrappedAlgorithm in interface WekaWrapper
      Returns:
      an Object value
    • setLoadClassifierFileName

      public void setLoadClassifierFileName(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 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:
      acceptInstance in interface InstanceListener
      Parameters:
      e - an InstanceEvent value
    • acceptTrainingSet

      public void acceptTrainingSet(TrainingSetEvent e)
      Accepts a training set and builds batch classifier
      Specified by:
      acceptTrainingSet in interface TrainingSetListener
      Parameters:
      e - a TrainingSetEvent value
    • acceptTestSet

      public void acceptTestSet(TestSetEvent e)
      Accepts a test set for a batch trained classifier
      Specified by:
      acceptTestSet in interface TestSetListener
      Parameters:
      e - a TestSetEvent value
    • setVisual

      public void setVisual(BeanVisual newVisual)
      Sets the visual appearance of this wrapper bean
      Specified by:
      setVisual in interface Visible
      Parameters:
      newVisual - a BeanVisual value
    • getVisual

      public BeanVisual getVisual()
      Gets the visual appearance of this wrapper bean
      Specified by:
      getVisual in interface Visible
      Returns:
      a BeanVisual value
    • useDefaultVisual

      public void useDefaultVisual()
      Use the default visual appearance for this bean
      Specified by:
      useDefaultVisual in interface Visible
    • addBatchClassifierListener

      public void addBatchClassifierListener(BatchClassifierListener cl)
      Add a batch classifier listener
      Parameters:
      cl - a BatchClassifierListener value
    • removeBatchClassifierListener

      public void removeBatchClassifierListener(BatchClassifierListener cl)
      Remove a batch classifier listener
      Parameters:
      cl - a BatchClassifierListener value
    • addGraphListener

      public void addGraphListener(GraphListener cl)
      Add a graph listener
      Parameters:
      cl - a GraphListener value
    • removeGraphListener

      public void removeGraphListener(GraphListener cl)
      Remove a graph listener
      Parameters:
      cl - a GraphListener value
    • addTextListener

      public void addTextListener(TextListener cl)
      Add a text listener
      Parameters:
      cl - a TextListener value
    • removeTextListener

      public void removeTextListener(TextListener cl)
      Remove a text listener
      Parameters:
      cl - a TextListener value
    • addConfigurationListener

      public void addConfigurationListener(ConfigurationListener cl)
      We don't have to keep track of configuration listeners (see the documentation for ConfigurationListener/ConfigurationEvent).
      Specified by:
      addConfigurationListener in interface ConfigurationProducer
      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:
      removeConfigurationListener in interface ConfigurationProducer
      Parameters:
      cl - a ConfigurationListener.
    • addIncrementalClassifierListener

      public void addIncrementalClassifierListener(IncrementalClassifierListener cl)
      Add an incremental classifier listener
      Parameters:
      cl - an IncrementalClassifierListener value
    • removeIncrementalClassifierListener

      public void removeIncrementalClassifierListener(IncrementalClassifierListener cl)
      Remove an incremental classifier listener
      Parameters:
      cl - an IncrementalClassifierListener value
    • connectionAllowed

      public boolean connectionAllowed(String eventName)
      Returns true if, at this time, the object will accept a connection with respect to the named event
      Specified by:
      connectionAllowed in interface BeanCommon
      Parameters:
      eventName - the event
      Returns:
      true if the object will accept a connection
    • connectionAllowed

      public boolean connectionAllowed(EventSetDescriptor esd)
      Returns true if, at this time, the object will accept a connection according to the supplied EventSetDescriptor
      Specified by:
      connectionAllowed in interface BeanCommon
      Parameters:
      esd - the EventSetDescriptor
      Returns:
      true if the object will accept a connection
    • connectionNotification

      public void connectionNotification(String eventName, 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 interface BeanCommon
      Parameters:
      eventName - the event
      source - the source with which this object has been registered as a listener
    • disconnectionNotification

      public void 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 name
      Specified by:
      disconnectionNotification in interface BeanCommon
      Parameters:
      eventName - the event
      source - the source with which this object has been registered as a listener
    • stop

      public void stop()
      Stop any classifier action
      Specified by:
      stop in interface BeanCommon
    • loadModel

      public void loadModel()
    • saveModel

      public void saveModel()
    • setLog

      public void setLog(Logger logger)
      Set a logger
      Specified by:
      setLog in interface BeanCommon
      Parameters:
      logger - a Logger value
    • enumerateRequests

      public Enumeration<String> enumerateRequests()
      Return an enumeration of requests that can be made by the user
      Specified by:
      enumerateRequests in interface UserRequestAcceptor
      Returns:
      an Enumeration value
    • performRequest

      public void performRequest(String request)
      Perform a particular request
      Specified by:
      performRequest in interface UserRequestAcceptor
      Parameters:
      request - the request to perform
      Throws:
      IllegalArgumentException - if an error occurs
    • eventGeneratable

      public boolean eventGeneratable(EventSetDescriptor esd)
      Returns true, if at the current time, the event described by the supplied event descriptor could be generated.
      Parameters:
      esd - an EventSetDescriptor value
      Returns:
      a boolean value
    • eventGeneratable

      public boolean eventGeneratable(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 interface EventConstraints
      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 interface BeanCommon
      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:
      setEnvironment in interface EnvironmentHandler
      Parameters:
      env - the environment variables to use