weka.attributeSelection
Class ClassifierAttributeEval

java.lang.Object
  extended by weka.attributeSelection.ASEvaluation
      extended by weka.attributeSelection.ClassifierAttributeEval
All Implemented Interfaces:
java.io.Serializable, AttributeEvaluator, CapabilitiesHandler, OptionHandler, RevisionHandler

public class ClassifierAttributeEval
extends ASEvaluation
implements AttributeEvaluator, OptionHandler

ClassifierAttributeEval :

Evaluates the worth of an attribute by using a user-specified classifier.

Valid options are:

 -S <seed>
  Random number seed for cross validation.
  (default = 1)
 -F <folds>
  Number of folds for cross validation.
  (default = 10)
 -D
  Use training data for evaluation rather than cross validaton.
 -B <classname + options>
  Classifier to use.
  (default = OneR)

Version:
$Revision: 5928 $
Author:
Mark Hall (mhall@cs.waikato.ac.nz), FracPete (fracpete at waikato dot ac dot nz)
See Also:
Serialized Form

Constructor Summary
ClassifierAttributeEval()
          Constructor.
 
Method Summary
 void buildEvaluator(Instances data)
          Initializes a ClassifierAttribute attribute evaluator.
 java.lang.String classifierTipText()
          Returns a string for this option suitable for display in the gui as a tip text.
 double evaluateAttribute(int attribute)
          Evaluates an individual attribute by measuring the amount of information gained about the class given the attribute.
 java.lang.String evalUsingTrainingDataTipText()
          Returns a string for this option suitable for display in the gui as a tip text.
 java.lang.String foldsTipText()
          Returns a string for this option suitable for display in the gui as a tip text.
 Capabilities getCapabilities()
          Returns the capabilities of this evaluator.
 Classifier getClassifier()
          Returns the classifier to use for evaluating the attribute.
 boolean getEvalUsingTrainingData()
          Returns true if the training data is to be used for evaluation.
 int getFolds()
          Get the number of folds used for cross validation.
 java.lang.String[] getOptions()
          returns the current setup.
 java.lang.String getRevision()
          Returns the revision string.
 int getSeed()
          Get the random number seed.
 java.lang.String globalInfo()
          Returns a string describing this attribute evaluator.
 java.util.Enumeration listOptions()
          Returns an enumeration describing the available options.
static void main(java.lang.String[] args)
          Main method for executing this class.
 java.lang.String seedTipText()
          Returns a string for this option suitable for display in the gui as a tip text.
 void setClassifier(Classifier value)
          Set the classifier to use for evaluating the attribute.
 void setEvalUsingTrainingData(boolean value)
          Use the training data to evaluate attributes rather than cross validation.
 void setFolds(int value)
          Set the number of folds to use for cross validation.
 void setOptions(java.lang.String[] options)
          Parses a given list of options.
 void setSeed(int value)
          Set the random number seed for cross validation.
 java.lang.String toString()
          Return 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

ClassifierAttributeEval

public ClassifierAttributeEval()
Constructor.

Method Detail

globalInfo

public java.lang.String globalInfo()
Returns a string describing this attribute evaluator.

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

listOptions

public java.util.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(java.lang.String[] options)
                throws java.lang.Exception
Parses a given list of options.

Valid options are:

 -S <seed>
  Random number seed for cross validation.
  (default = 1)
 -F <folds>
  Number of folds for cross validation.
  (default = 10)
 -D
  Use training data for evaluation rather than cross validaton.
 -B <classname + options>
  Classifier to use.
  (default = OneR)

Specified by:
setOptions in interface OptionHandler
Parameters:
options - the list of options as an array of strings
Throws:
java.lang.Exception - if an option is not supported

getOptions

public java.lang.String[] getOptions()
returns the current setup.

Specified by:
getOptions in interface OptionHandler
Returns:
the options of the current setup

setSeed

public void setSeed(int value)
Set the random number seed for cross validation.

Parameters:
value - the seed to use

getSeed

public int getSeed()
Get the random number seed.

Returns:
an int value

seedTipText

public java.lang.String seedTipText()
Returns a string for this option suitable for display in the gui as a tip text.

Returns:
a string describing this option

setFolds

public void setFolds(int value)
Set the number of folds to use for cross validation.

Parameters:
value - the number of folds

getFolds

public int getFolds()
Get the number of folds used for cross validation.

Returns:
the number of folds

foldsTipText

public java.lang.String foldsTipText()
Returns a string for this option suitable for display in the gui as a tip text.

Returns:
a string describing this option

setEvalUsingTrainingData

public void setEvalUsingTrainingData(boolean value)
Use the training data to evaluate attributes rather than cross validation.

Parameters:
value - true if training data is to be used for evaluation

getEvalUsingTrainingData

public boolean getEvalUsingTrainingData()
Returns true if the training data is to be used for evaluation.

Returns:
true if training data is to be used for evaluation

evalUsingTrainingDataTipText

public java.lang.String evalUsingTrainingDataTipText()
Returns a string for this option suitable for display in the gui as a tip text.

Returns:
a string describing this option

setClassifier

public void setClassifier(Classifier value)
Set the classifier to use for evaluating the attribute.

Parameters:
value - the classifier to use

getClassifier

public Classifier getClassifier()
Returns the classifier to use for evaluating the attribute.

Returns:
the classifier in use

classifierTipText

public java.lang.String classifierTipText()
Returns a string for this option suitable for display in the gui as a tip text.

Returns:
a string describing this option

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
Initializes a ClassifierAttribute attribute evaluator.

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

evaluateAttribute

public double evaluateAttribute(int attribute)
                         throws java.lang.Exception
Evaluates an individual attribute by measuring the amount of information gained about the class given the attribute.

Specified by:
evaluateAttribute in interface AttributeEvaluator
Parameters:
attribute - the index of the attribute to be evaluated
Returns:
the evaluation
Throws:
java.lang.Exception - if the attribute could not be evaluated

toString

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

Overrides:
toString in class java.lang.Object
Returns:
description as a string

getRevision

public java.lang.String getRevision()
Returns the revision string.

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

main

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

Parameters:
args - the options