Class CostSensitiveClassifierSplitEvaluator

java.lang.Object
weka.experiment.ClassifierSplitEvaluator
weka.experiment.CostSensitiveClassifierSplitEvaluator
All Implemented Interfaces:
Serializable, AdditionalMeasureProducer, OptionHandler, RevisionHandler, SplitEvaluator

public class CostSensitiveClassifierSplitEvaluator extends ClassifierSplitEvaluator
SplitEvaluator that produces results for a classification scheme on a nominal class attribute, including weighted misclassification costs.

Valid options are:

 -W <class name>
  The full class name of the classifier.
  eg: weka.classifiers.bayes.NaiveBayes
 
 -C <index>
  The index of the class for which IR statistics
  are to be output. (default 1)
 
 -I <index>
  The index of an attribute to output in the
  results. This attribute should identify an
  instance in order to know which instances are
  in the test set of a cross validation. if 0
  no output (default 0).
 
 -P
  Add target and prediction columns to the result
  for each fold.
 
 Options specific to classifier weka.classifiers.rules.ZeroR:
 
 -D
  If set, classifier is run in debug mode and
  may output additional info to the console
 
 -D <directory>
  Name of a directory to search for cost files when loading
  costs on demand (default current directory).
 
All options after -- will be passed to the classifier.
Version:
$Revision: 11323 $
Author:
Len Trigg (len@reeltwo.com)
See Also:
  • Constructor Details

    • CostSensitiveClassifierSplitEvaluator

      public CostSensitiveClassifierSplitEvaluator()
  • Method Details

    • globalInfo

      public String globalInfo()
      Returns a string describing this split evaluator
      Overrides:
      globalInfo in class ClassifierSplitEvaluator
      Returns:
      a description of the split evaluator suitable for displaying in the explorer/experimenter gui
    • listOptions

      public Enumeration<Option> listOptions()
      Returns an enumeration describing the available options..
      Specified by:
      listOptions in interface OptionHandler
      Overrides:
      listOptions in class ClassifierSplitEvaluator
      Returns:
      an enumeration of all the available options.
    • setOptions

      public void setOptions(String[] options) throws Exception
      Parses a given list of options.

      Valid options are:

       -W <class name>
        The full class name of the classifier.
        eg: weka.classifiers.bayes.NaiveBayes
       
       -C <index>
        The index of the class for which IR statistics
        are to be output. (default 1)
       
       -I <index>
        The index of an attribute to output in the
        results. This attribute should identify an
        instance in order to know which instances are
        in the test set of a cross validation. if 0
        no output (default 0).
       
       -P
        Add target and prediction columns to the result
        for each fold.
       
       Options specific to classifier weka.classifiers.rules.ZeroR:
       
       -D
        If set, classifier is run in debug mode and
        may output additional info to the console
       
       -D <directory>
        Name of a directory to search for cost files when loading
        costs on demand (default current directory).
       
      All options after -- will be passed to the classifier.
      Specified by:
      setOptions in interface OptionHandler
      Overrides:
      setOptions in class ClassifierSplitEvaluator
      Parameters:
      options - the list of options as an array of strings
      Throws:
      Exception - if an option is not supported
    • getOptions

      public String[] getOptions()
      Gets the current settings of the Classifier.
      Specified by:
      getOptions in interface OptionHandler
      Overrides:
      getOptions in class ClassifierSplitEvaluator
      Returns:
      an array of strings suitable for passing to setOptions
    • onDemandDirectoryTipText

      public String onDemandDirectoryTipText()
      Returns the tip text for this property
      Returns:
      tip text for this property suitable for displaying in the explorer/experimenter gui
    • getOnDemandDirectory

      public File getOnDemandDirectory()
      Returns the directory that will be searched for cost files when loading on demand.
      Returns:
      The cost file search directory.
    • setOnDemandDirectory

      public void setOnDemandDirectory(File newDir)
      Sets the directory that will be searched for cost files when loading on demand.
      Parameters:
      newDir - The cost file search directory.
    • getResultTypes

      public Object[] getResultTypes()
      Gets the data types of each of the result columns produced for a single run. The number of result fields must be constant for a given SplitEvaluator.
      Specified by:
      getResultTypes in interface SplitEvaluator
      Overrides:
      getResultTypes in class ClassifierSplitEvaluator
      Returns:
      an array containing objects of the type of each result column. The objects should be Strings, or Doubles.
    • getResultNames

      public String[] getResultNames()
      Gets the names of each of the result columns produced for a single run. The number of result fields must be constant for a given SplitEvaluator.
      Specified by:
      getResultNames in interface SplitEvaluator
      Overrides:
      getResultNames in class ClassifierSplitEvaluator
      Returns:
      an array containing the name of each result column
    • getResult

      public Object[] getResult(Instances train, Instances test) throws Exception
      Gets the results for the supplied train and test datasets. Now performs a deep copy of the classifier before it is built and evaluated (just in case the classifier is not initialized properly in buildClassifier()).
      Specified by:
      getResult in interface SplitEvaluator
      Overrides:
      getResult in class ClassifierSplitEvaluator
      Parameters:
      train - the training Instances.
      test - the testing Instances.
      Returns:
      the results stored in an array. The objects stored in the array may be Strings, Doubles, or null (for the missing value).
      Throws:
      Exception - if a problem occurs while getting the results
    • toString

      public String toString()
      Returns a text description of the split evaluator.
      Overrides:
      toString in class ClassifierSplitEvaluator
      Returns:
      a text description of the split evaluator.
    • getRevision

      public String getRevision()
      Returns the revision string.
      Specified by:
      getRevision in interface RevisionHandler
      Overrides:
      getRevision in class ClassifierSplitEvaluator
      Returns:
      the revision