weka.attributeSelection
Class ConsistencySubsetEval

java.lang.Object
  extended by weka.attributeSelection.ASEvaluation
      extended by weka.attributeSelection.SubsetEvaluator
          extended by weka.attributeSelection.ConsistencySubsetEval
All Implemented Interfaces:
java.io.Serializable, CapabilitiesHandler, TechnicalInformationHandler

public class ConsistencySubsetEval
extends SubsetEvaluator
implements TechnicalInformationHandler

ConsistencySubsetEval :

Evaluates the worth of a subset of attributes by the level of consistency in the class values when the training instances are projected onto the subset of attributes.

Consistency of any subset can never be lower than that of the full set of attributes, hence the usual practice is to use this subset evaluator in conjunction with a Random or Exhaustive search which looks for the smallest subset with consistency equal to that of the full set of attributes.

For more information see:

H. Liu, R. Setiono: A probabilistic approach to feature selection - A filter solution. In: 13th International Conference on Machine Learning, 319-327, 1996.

BibTeX:

 @inproceedings{Liu1996,
    author = {H. Liu and R. Setiono},
    booktitle = {13th International Conference on Machine Learning},
    pages = {319-327},
    title = {A probabilistic approach to feature selection - A filter solution},
    year = {1996}
 }
 

Version:
$Revision: 1.15 $
Author:
Mark Hall (mhall@cs.waikato.ac.nz)
See Also:
Discretize, Serialized Form

Nested Class Summary
 class ConsistencySubsetEval.hashKey
          Class providing keys to the hash table.
 
Constructor Summary
ConsistencySubsetEval()
          Constructor.
 
Method Summary
 void buildEvaluator(Instances data)
          Generates a attribute evaluator.
 double evaluateSubset(java.util.BitSet subset)
          Evaluates a subset of attributes
 Capabilities getCapabilities()
          Returns the capabilities of this evaluator.
 TechnicalInformation getTechnicalInformation()
          Returns an instance of a TechnicalInformation object, containing detailed information about the technical background of this class, e.g., paper reference or book this class is based on.
 java.lang.String globalInfo()
          Returns a string describing this search method
static void main(java.lang.String[] args)
          Main method for testing this class.
 java.lang.String toString()
          returns a description of the evaluator
 
Methods inherited from class weka.attributeSelection.ASEvaluation
forName, makeCopies, postProcess
 
Methods inherited from class java.lang.Object
equals, getClass, hashCode, notify, notifyAll, wait, wait, wait
 

Constructor Detail

ConsistencySubsetEval

public ConsistencySubsetEval()
Constructor. Calls restOptions to set default options

Method Detail

globalInfo

public java.lang.String globalInfo()
Returns a string describing this search method

Returns:
a description of the search suitable for displaying in the explorer/experimenter gui

getTechnicalInformation

public TechnicalInformation getTechnicalInformation()
Returns an instance of a TechnicalInformation object, containing detailed information about the technical background of this class, e.g., paper reference or book this class is based on.

Specified by:
getTechnicalInformation in interface TechnicalInformationHandler
Returns:
the technical information about this class

getCapabilities

public Capabilities getCapabilities()
Returns the capabilities of this evaluator.

Specified by:
getCapabilities in interface CapabilitiesHandler
Overrides:
getCapabilities in class ASEvaluation
Returns:
the capabilities of this evaluator
See Also:
Capabilities

buildEvaluator

public void buildEvaluator(Instances data)
                    throws java.lang.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:
java.lang.Exception - if the evaluator has not been generated successfully

evaluateSubset

public double evaluateSubset(java.util.BitSet subset)
                      throws java.lang.Exception
Evaluates a subset of attributes

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

toString

public java.lang.String toString()
returns a description of the evaluator

Overrides:
toString in class java.lang.Object
Returns:
a description of the evaluator as a String.

main

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

Parameters:
args - the options