Package weka.attributeSelection

# Class CostSensitiveSubsetEval

java.lang.Object
weka.attributeSelection.ASEvaluation
weka.attributeSelection.CostSensitiveASEvaluation
weka.attributeSelection.CostSensitiveSubsetEval

All Implemented Interfaces:
  `Serializable`, `SubsetEvaluator`, `CapabilitiesHandler`, `OptionHandler`, `RevisionHandler`

public class CostSensitiveSubsetEval extends CostSensitiveASEvaluation implements Serializable, SubsetEvaluator, OptionHandler
A meta subset evaluator that makes its base subset evaluator cost-sensitive.

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 specific to evaluator weka.attributeSelection.CfsSubsetEval:

     -M
      Treat missing values as a seperate value.

     -L
      Don't include locally predictive attributes.

Version:
  $Revision: 5562 $
Author:
  Mark Hall (mhall{[at]}pentaho{[dot]}com)
See Also:
  - Serialized Form

## Field Summary

### Fields inherited from class weka.attributeSelection.CostSensitiveASEvaluation

`MATRIX_ON_DEMAND, MATRIX_SUPPLIED, TAGS_MATRIX_SOURCE`

## Constructor Summary

Constructors
Constructor
Description
`CostSensitiveSubsetEval()`
Default constructor.

## Method Summary

Modifier and Type
Method
Description
`double`
`evaluateSubset(BitSet subset)`
Evaluates a subset of attributes.
`String`
`getRevision()`
Returns the revision string.
`static void`
`main(String[] args)`
Main method for testing this class.
`void`
`setEvaluator(ASEvaluation newEvaluator)`
Set the base evaluator.

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

`buildEvaluator, costMatrixSourceTipText, costMatrixTipText, defaultEvaluatorString, evaluatorTipText, getCapabilities, getCostMatrix, getCostMatrixSource, getEvaluator, getOnDemandDirectory, getOptions, getSeed, globalInfo, listOptions, onDemandDirectoryTipText, postProcess, seedTipText, setCostMatrix, setCostMatrixSource, setOnDemandDirectory, setOptions, setSeed, toString`

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

### Methods inherited from interface weka.core.OptionHandler

`getOptions, listOptions, setOptions`

## Constructor Details

### CostSensitiveSubsetEval

public CostSensitiveSubsetEval()
Default constructor.

## Method Details

### setEvaluator

public void setEvaluator(ASEvaluation newEvaluator) throws IllegalArgumentException
Set the base evaluator.

Overrides:
  `setEvaluator` in class `CostSensitiveASEvaluation`
Parameters:
  `newEvaluator` - the evaluator to use.
Throws:
  `IllegalArgumentException` - if the evaluator is not an instance of SubsetEvaluator

### evaluateSubset

public double evaluateSubset(BitSet subset) throws Exception
Evaluates a subset of attributes. Delegates the actual evaluation to the base subset evaluator.

Specified by:
  `evaluateSubset` in interface `SubsetEvaluator`
Parameters:
  `subset` - a bitset representing the attribute subset to be evaluated
Returns:
  the "merit" of the subset
Throws:
  `Exception` - if the subset could not be evaluated

### getRevision

public String getRevision()
Returns the revision string.

Specified by:
  `getRevision` in interface `RevisionHandler`
Overrides:
  `getRevision` in class `CostSensitiveASEvaluation`
Returns:
  the revision

### main

public static void main(String[] args)
Main method for testing this class.

Parameters:
  `args` - the options