Class CostSensitiveASEvaluation

java.lang.Object
weka.attributeSelection.ASEvaluation
weka.attributeSelection.CostSensitiveASEvaluation
All Implemented Interfaces:
Serializable, CapabilitiesHandler, OptionHandler, RevisionHandler
Direct Known Subclasses:
CostSensitiveAttributeEval, CostSensitiveSubsetEval

public abstract class CostSensitiveASEvaluation extends ASEvaluation implements OptionHandler, Serializable
Abstract base class for cost-sensitive subset and attribute evaluators.
Version:
$Revision: 5562 $
Author:
Mark Hall (mhall{[at]}pentaho{[dot]}com)
See Also:
  • Field Details

    • MATRIX_ON_DEMAND

      public static final int MATRIX_ON_DEMAND
      load cost matrix on demand
      See Also:
    • MATRIX_SUPPLIED

      public static final int MATRIX_SUPPLIED
      use explicit cost matrix
      See Also:
    • TAGS_MATRIX_SOURCE

      public static final Tag[] TAGS_MATRIX_SOURCE
      Specify possible sources of the cost matrix
  • Constructor Details

    • CostSensitiveASEvaluation

      public CostSensitiveASEvaluation()
  • Method Details

    • listOptions

      public Enumeration listOptions()
      Returns an enumeration describing the available options.
      Specified by:
      listOptions in interface OptionHandler
      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:

       -C <cost file name>
        File name of a cost matrix to use. If this is not supplied,
        a cost matrix will be loaded on demand. The name of the
        on-demand file is the relation name of the training data
        plus ".cost", and the path to the on-demand file is
        specified with the -N option.
       -N <directory>
        Name of a directory to search for cost files when loading
        costs on demand (default current directory).
       -cost-matrix <matrix>
        The cost matrix in Matlab single line format.
       -S <integer>
        The seed to use for random number generation.
       -W
        Full name of base evaluator.
        (default: weka.attributeSelection.CfsSubsetEval)
      Options after -- are passed to the designated evaluator.

      Specified by:
      setOptions in interface OptionHandler
      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 subset evaluator.
      Specified by:
      getOptions in interface OptionHandler
      Returns:
      an array of strings suitable for passing to setOptions
    • globalInfo

      public String globalInfo()
      Returns:
      a description of the classifier suitable for displaying in the explorer/experimenter gui
    • defaultEvaluatorString

      public String defaultEvaluatorString()
      Return the name of the default evaluator.
      Returns:
      the name of the default evaluator
    • costMatrixSourceTipText

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

      public SelectedTag getCostMatrixSource()
      Gets the source location method of the cost matrix. Will be one of MATRIX_ON_DEMAND or MATRIX_SUPPLIED.
      Returns:
      the cost matrix source.
    • setCostMatrixSource

      public void setCostMatrixSource(SelectedTag newMethod)
      Sets the source location of the cost matrix. Values other than MATRIX_ON_DEMAND or MATRIX_SUPPLIED will be ignored.
      Parameters:
      newMethod - the cost matrix location method.
    • onDemandDirectoryTipText

      public String onDemandDirectoryTipText()
      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.
    • costMatrixTipText

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

      public CostMatrix getCostMatrix()
      Gets the misclassification cost matrix.
      Returns:
      the cost matrix
    • setCostMatrix

      public void setCostMatrix(CostMatrix newCostMatrix)
      Sets the misclassification cost matrix.
      Parameters:
      newCostMatrix - the cost matrix
    • seedTipText

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

      public void setSeed(int seed)
      Set the seed for random number generation.
      Parameters:
      seed - the seed
    • getSeed

      public int getSeed()
      Gets the seed for the random number generations.
      Returns:
      the seed for the random number generation
    • evaluatorTipText

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

      public void setEvaluator(ASEvaluation newEvaluator) throws IllegalArgumentException
      Set the base evaluator.
      Parameters:
      newEvaluator - the evaluator to use.
      Throws:
      IllegalArgumentException - if the evaluator is of the wrong type
    • getEvaluator

      public ASEvaluation getEvaluator()
      Get the evaluator used as the base evaluator.
      Returns:
      the evaluator used as the base evaluator
    • getCapabilities

      public Capabilities getCapabilities()
      Returns default capabilities of the classifier.
      Specified by:
      getCapabilities in interface CapabilitiesHandler
      Overrides:
      getCapabilities in class ASEvaluation
      Returns:
      the capabilities of this classifier
      See Also:
    • buildEvaluator

      public void buildEvaluator(Instances data) throws Exception
      Generates a attribute evaluator. Has to initialize all fields of the evaluator that are not being set via options.
      Specified by:
      buildEvaluator in class ASEvaluation
      Parameters:
      data - set of instances serving as training data
      Throws:
      Exception - if the evaluator has not been generated successfully
    • postProcess

      public int[] postProcess(int[] attributeSet) throws Exception
      Provides a chance for a attribute evaluator to do any special post processing of the selected attribute set.
      Overrides:
      postProcess in class ASEvaluation
      Parameters:
      attributeSet - the set of attributes found by the search
      Returns:
      a possibly ranked list of postprocessed attributes
      Throws:
      Exception - if postprocessing fails for some reason
    • toString

      public String toString()
      Output a representation of this evaluator
      Overrides:
      toString in class Object
      Returns:
      a string representation of the classifier
    • getRevision

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