weka.attributeSelection
Class ASEvaluation

java.lang.Object
  extended byweka.attributeSelection.ASEvaluation
All Implemented Interfaces:
java.io.Serializable
Direct Known Subclasses:
AttributeEvaluator, SubsetEvaluator

public abstract class ASEvaluation
extends java.lang.Object
implements java.io.Serializable

Abstract attribute selection evaluation class

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

Constructor Summary
ASEvaluation()
           
 
Method Summary
abstract  void buildEvaluator(Instances data)
          Generates a attribute evaluator.
static ASEvaluation forName(java.lang.String evaluatorName, java.lang.String[] options)
          Creates a new instance of an attribute/subset evaluator given it's class name and (optional) arguments to pass to it's setOptions method.
static ASEvaluation[] makeCopies(ASEvaluation model, int num)
          Creates copies of the current evaluator.
 int[] postProcess(int[] attributeSet)
          Provides a chance for a attribute evaluator to do any special post processing of the selected attribute set.
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Constructor Detail

ASEvaluation

public ASEvaluation()
Method Detail

buildEvaluator

public abstract 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.

Parameters:
data - set of instances serving as training data
Throws:
java.lang.Exception - if the evaluator has not been generated successfully

postProcess

public int[] postProcess(int[] attributeSet)
                  throws java.lang.Exception
Provides a chance for a attribute evaluator to do any special post processing of the selected attribute set.

Parameters:
attributeSet - the set of attributes found by the search
Returns:
a possibly ranked list of postprocessed attributes
Throws:
java.lang.Exception - if postprocessing fails for some reason

forName

public static ASEvaluation forName(java.lang.String evaluatorName,
                                   java.lang.String[] options)
                            throws java.lang.Exception
Creates a new instance of an attribute/subset evaluator given it's class name and (optional) arguments to pass to it's setOptions method. If the evaluator implements OptionHandler and the options parameter is non-null, the evaluator will have it's options set.

Parameters:
evaluatorName - the fully qualified class name of the evaluator
options - an array of options suitable for passing to setOptions. May be null.
Returns:
the newly created evaluator, ready for use.
Throws:
java.lang.Exception - if the evaluator name is invalid, or the options supplied are not acceptable to the evaluator

makeCopies

public static ASEvaluation[] makeCopies(ASEvaluation model,
                                        int num)
                                 throws java.lang.Exception
Creates copies of the current evaluator. Note that this method now uses Serialization to perform a deep copy, so the evaluator object must be fully Serializable. Any currently built model will now be copied as well.

Parameters:
model - an example evaluator to copy
num - the number of evaluator copies to create.
Returns:
an array of evaluators.
Throws:
java.lang.Exception - if an error occurs