weka.attributeSelection

## Class ASEvaluation

- java.lang.Object
- - weka.attributeSelection.ASEvaluation

- All Implemented Interfaces:
    java.io.Serializable, CapabilitiesHandler, CapabilitiesIgnorer, CommandlineRunnable, RevisionHandler
  Direct Known Subclasses:
    AttributeSetEvaluator, CfsSubsetEval, CorrelationAttributeEval, GainRatioAttributeEval, HoldOutSubsetEvaluator, InfoGainAttributeEval, OneRAttributeEval, ReliefFAttributeEval, SymmetricalUncertAttributeEval, UnsupervisedAttributeEvaluator, UnsupervisedSubsetEvaluator, WrapperSubsetEval

      public abstract class ASEvaluation
      extends java.lang.Object
      implements java.io.Serializable, CapabilitiesHandler, CapabilitiesIgnorer, RevisionHandler, CommandlineRunnable

  Abstract attribute selection evaluation class
  Version:
    $Revision: 12201 $
  Author:
    Mark Hall (mhall@cs.waikato.ac.nz)
  See Also:
    Serialized Form

- - ### Constructor Summary

    Constructors
    Constructor and Description
    `ASEvaluation()`

  - ### Method Summary

    All Methods Static Methods Instance Methods Abstract Methods Concrete Methods
    Modifier and Type | Method and Description
    --- | ---
    `abstract void` | `buildEvaluator(Instances data)` Generates a attribute evaluator.
    `void` | `clean()` Tells the evaluator that the attribute selection process is complete.
    `java.lang.String` | `doNotCheckCapabilitiesTipText()` Returns the tip text for this property
    `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.
    `Capabilities` | `getCapabilities()` Returns the capabilities of this evaluator.
    `boolean` | `getDoNotCheckCapabilities()` Get whether capabilities checking is turned off.
    `java.lang.String` | `getRevision()` Returns the revision string.
    `static ASEvaluation[]` | `makeCopies(ASEvaluation model, int num)` Creates copies of the current evaluator.
    `void` | `postExecution()` Perform any teardown stuff that might need to happen after execution.
    `int[]` | `postProcess(int[] attributeSet)` Provides a chance for a attribute evaluator to do any special post processing of the selected attribute set.
    `void` | `preExecution()` Perform any setup stuff that might need to happen before commandline execution.
    `void` | `run(java.lang.Object toRun, java.lang.String[] options)` Execute the supplied object.
    `static void` | `runEvaluator(ASEvaluation evaluator, java.lang.String[] options)` runs the evaluator with the given commandline options
    `void` | `setDoNotCheckCapabilities(boolean doNotCheckCapabilities)` Set whether not to check capabilities.

    - ### Methods inherited from class java.lang.Object

      `equals, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait`

- - ### Constructor Detail

    - #### ASEvaluation

          public ASEvaluation()

  - ### Method Detail

    - #### doNotCheckCapabilitiesTipText

          public java.lang.String doNotCheckCapabilitiesTipText()

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

    - #### setDoNotCheckCapabilities

          public void setDoNotCheckCapabilities(boolean doNotCheckCapabilities)

      Set whether not to check capabilities.
      Specified by:
        `setDoNotCheckCapabilities` in interface `CapabilitiesIgnorer`
      Parameters:
        `doNotCheckCapabilities` - true if capabilities are not to be checked.

    - #### getDoNotCheckCapabilities

          public boolean getDoNotCheckCapabilities()

      Get whether capabilities checking is turned off.
      Specified by:
        `getDoNotCheckCapabilities` in interface `CapabilitiesIgnorer`
      Returns:
        true if capabilities checking is turned off.

    - #### 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. Can also be used to clean up any data structures post attribute selection.
      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

    - #### getCapabilities

          public Capabilities getCapabilities()

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

    - #### getRevision

          public java.lang.String getRevision()

      Returns the revision string.
      Specified by:
        `getRevision` in interface `RevisionHandler`
      Returns:
        the revision

    - #### clean

          public void clean()

      Tells the evaluator that the attribute selection process is complete. It can then clean up data structures, references to training data as necessary in order to save memory

    - #### runEvaluator

          public static void runEvaluator(ASEvaluation evaluator,
                                          java.lang.String[] options)

      runs the evaluator with the given commandline options
      Parameters:
        `evaluator` - the evaluator to run
        `options` - the commandline options

    - #### preExecution

          public void preExecution()
                            throws java.lang.Exception

      Perform any setup stuff that might need to happen before commandline execution. Subclasses should override if they need to do something here
      Specified by:
        `preExecution` in interface `CommandlineRunnable`
      Throws:
        `java.lang.Exception` - if a problem occurs during setup

    - #### run

          public void run(java.lang.Object toRun,
                          java.lang.String[] options)
                   throws java.lang.Exception

      Execute the supplied object. Subclasses need to override this method.
      Specified by:
        `run` in interface `CommandlineRunnable`
      Parameters:
        `toRun` - the object to execute
        `options` - any options to pass to the object
      Throws:
        `java.lang.Exception` - if a problem occurs

    - #### postExecution

          public void postExecution()
                             throws java.lang.Exception

      Perform any teardown stuff that might need to happen after execution. Subclasses should override if they need to do something here
      Specified by:
        `postExecution` in interface `CommandlineRunnable`
      Throws:
        `java.lang.Exception` - if a problem occurs during teardown