Package weka.attributeSelection

# 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:
  - Serialized Form

## Field Summary

Fields
Modifier and Type
Field
Description
`static final int`
`MATRIX_ON_DEMAND`
load cost matrix on demand
`static final int`
`MATRIX_SUPPLIED`
use explicit cost matrix
`static final Tag[]`
`TAGS_MATRIX_SOURCE`
Specify possible sources of the cost matrix

## Constructor Summary

Constructors
Constructor
Description
`CostSensitiveASEvaluation()`

## Method Summary

Modifier and Type
Method
Description
`void`
`buildEvaluator(Instances data)`
Generates a attribute evaluator.
`String`
`costMatrixSourceTipText()`
`String`
`costMatrixTipText()`
`String`
`defaultEvaluatorString()`
Return the name of the default evaluator.
`String`
`evaluatorTipText()`
Returns the tip text for this property
`Capabilities`
`getCapabilities()`
Returns default capabilities of the classifier.
`CostMatrix`
`getCostMatrix()`
Gets the misclassification cost matrix.
`SelectedTag`
`getCostMatrixSource()`
Gets the source location method of the cost matrix.
`ASEvaluation`
`getEvaluator()`
Get the evaluator used as the base evaluator.
`File`
`getOnDemandDirectory()`
Returns the directory that will be searched for cost files when loading on demand.
`String[]`
`getOptions()`
Gets the current settings of the subset evaluator.
`String`
`getRevision()`
Returns the revision string.
`int`
`getSeed()`
Gets the seed for the random number generations.
`String`
`globalInfo()`
`Enumeration`
`listOptions()`
Returns an enumeration describing the available options.
`String`
`onDemandDirectoryTipText()`
`int[]`
`postProcess(int[] attributeSet)`
Provides a chance for a attribute evaluator to do any special post processing of the selected attribute set.
`String`
`seedTipText()`
Returns the tip text for this property
`void`
`setCostMatrix(CostMatrix newCostMatrix)`
Sets the misclassification cost matrix.
`void`
`setCostMatrixSource(SelectedTag newMethod)`
Sets the source location of the cost matrix.
`void`
`setEvaluator(ASEvaluation newEvaluator)`
Set the base evaluator.
`void`
`setOnDemandDirectory(File newDir)`
Sets the directory that will be searched for cost files when loading on demand.
`void`
`setOptions(String[] options)`
Parses a given list of options.
`void`
`setSeed(int seed)`
Set the seed for random number generation.
`String`
`toString()`
Output a representation of this evaluator

### Methods inherited from class weka.attributeSelection.ASEvaluation

`clean, forName, makeCopies`

### Methods inherited from class java.lang.Object

`equals, getClass, hashCode, notify, notifyAll, wait, wait, wait`

## Field Details

### MATRIX_ON_DEMAND

public static final int MATRIX_ON_DEMAND
load cost matrix on demand

See Also:
  - Constant Field Values

### MATRIX_SUPPLIED

public static final int MATRIX_SUPPLIED
use explicit cost matrix

See Also:
  - Constant Field Values

### 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:
  - `Capabilities`

### 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