weka.attributeSelection
Class FilteredAttributeEval

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

public class FilteredAttributeEval
extends ASEvaluation
implements java.io.Serializable, AttributeEvaluator, OptionHandler

Class for running an arbitrary attribute evaluator on data that has been passed through an arbitrary filter (note: filters that alter the order or number of attributes are not allowed). Like the evaluator, the structure of the filter is based exclusively on the training data.

Valid options are:

 -W <evaluator specification>
  Full name of base evaluator to use, followed by evaluator options.
  eg: "weka.attributeSelection.InfoGainAttributeEval -M"
 -F <filter specification>
  Full class name of filter to use, followed
  by filter options.
  eg: "weka.filters.supervised.instance.SpreadSubsample -M 1"

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

Constructor Summary
FilteredAttributeEval()
           
 
Method Summary
 java.lang.String attributeEvaluatorTipText()
          Returns the tip text for this property
 void buildEvaluator(Instances data)
          Initializes a filtered attribute evaluator.
 double evaluateAttribute(int attribute)
          Evaluates an individual attribute by delegating to the base evaluator.
 java.lang.String filterTipText()
          Returns the tip text for this property
 ASEvaluation getAttributeEvaluator()
          Get the attribute evaluator to use
 Capabilities getCapabilities()
          Returns default capabilities of the evaluator.
 Filter getFilter()
          Get the filter to use
 java.lang.String[] getOptions()
          Gets the current settings of the subset evaluator.
 java.lang.String getRevision()
          Returns the revision string.
 java.lang.String globalInfo()
           
 java.util.Enumeration listOptions()
          Returns an enumeration describing the available options.
static void main(java.lang.String[] args)
          Main method for testing this class.
 void setAttributeEvaluator(ASEvaluation newEvaluator)
          Set the attribute evaluator to use
 void setFilter(Filter newFilter)
          Set the filter to use
 void setOptions(java.lang.String[] options)
          Parses a given list of options.
 java.lang.String toString()
          Describe the attribute 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

FilteredAttributeEval

public FilteredAttributeEval()
Method Detail

getCapabilities

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

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

globalInfo

public java.lang.String globalInfo()
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:

 -W <evaluator specification>
  Full name of base evaluator to use, followed by evaluator options.
  eg: "weka.attributeSelection.InfoGainAttributeEval -M"
 -F <filter specification>
  Full class name of filter to use, followed
  by filter options.
  eg: "weka.filters.supervised.instance.SpreadSubsample -M 1"

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()
Gets the current settings of the subset evaluator.

Specified by:
getOptions in interface OptionHandler
Returns:
an array of strings suitable for passing to setOptions

attributeEvaluatorTipText

public java.lang.String attributeEvaluatorTipText()
Returns the tip text for this property

Returns:
tip text for this property suitable for displaying in the explorer/experimenter gui

setAttributeEvaluator

public void setAttributeEvaluator(ASEvaluation newEvaluator)
Set the attribute evaluator to use

Parameters:
newEvaluator - the attribute evaluator to use

getAttributeEvaluator

public ASEvaluation getAttributeEvaluator()
Get the attribute evaluator to use

Returns:
the attribute evaluator to use

filterTipText

public java.lang.String filterTipText()
Returns the tip text for this property

Returns:
tip text for this property suitable for displaying in the explorer/experimenter gui

setFilter

public void setFilter(Filter newFilter)
Set the filter to use

Parameters:
newFilter - the filter to use

getFilter

public Filter getFilter()
Get the filter to use

Returns:
the filter to use

getRevision

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

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

buildEvaluator

public void buildEvaluator(Instances data)
                    throws java.lang.Exception
Initializes a filtered 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 delegating to the base evaluator.

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

toString

public java.lang.String toString()
Describe the attribute evaluator

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

main

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

Parameters:
args - the options