Package weka.attributeSelection

# Class OneRAttributeEval

java.lang.Object
weka.attributeSelection.ASEvaluation
weka.attributeSelection.OneRAttributeEval

All Implemented Interfaces:
  `Serializable`, `AttributeEvaluator`, `CapabilitiesHandler`, `CapabilitiesIgnorer`, `CommandlineRunnable`, `OptionHandler`, `RevisionHandler`

public class OneRAttributeEval extends ASEvaluation implements AttributeEvaluator, OptionHandler
OneRAttributeEval :
Evaluates the worth of an attribute by using the OneR 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 <minimum bucket size>
      Minimum number of objects in a bucket
      (passed on to OneR, default = 6)

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

- ## Constructor Summary

  Constructors
  Constructor
  Description
  `OneRAttributeEval()`
  Constructor

- ## Method Summary

  Modifier and Type
  Method
  Description
  `void`
  `buildEvaluator(Instances data)`
  Initializes a OneRAttribute attribute evaluator.
  `double`
  `evaluateAttribute(int attribute)`
  evaluates an individual attribute by measuring the amount of information gained about the class given the attribute.
  `String`
  `evalUsingTrainingDataTipText()`
  Returns a string for this option suitable for display in the gui as a tip text
  `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.
  `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
  `int`
  `getMinimumBucketSize()`
  Get the minimum bucket size used by oneR
  `String[]`
  `getOptions()`
  returns the current setup.
  `String`
  `getRevision()`
  Returns the revision string.
  `int`
  `getSeed()`
  Get the random number seed
  `String`
  `globalInfo()`
  Returns a string describing this attribute evaluator
  `Enumeration<Option>`
  `listOptions()`
  Returns an enumeration describing the available options.
  `static void`
  `main(String[] args)`
  Main method for testing this class.
  `String`
  `minimumBucketSizeTipText()`
  Returns a string for this option suitable for display in the gui as a tip text
  `int[]`
  `postProcess(int[] attributeSet)`
  Provides a chance for a attribute evaluator to do any special post processing of the selected attribute set.
  `String`
  `seedTipText()`
  Returns a string for this option suitable for display in the gui as a tip text
  `void`
  `setEvalUsingTrainingData(boolean e)`
  Use the training data to evaluate attributes rather than cross validation
  `void`
  `setFolds(int folds)`
  Set the number of folds to use for cross validation
  `void`
  `setMinimumBucketSize(int minB)`
  Set the minumum bucket size used by OneR
  `void`
  `setOptions(String[] options)`
  Parses a given list of options.
  `void`
  `setSeed(int seed)`
  Set the random number seed for cross validation
  `String`
  `toString()`
  Return a description of the evaluator

  ### Methods inherited from class weka.attributeSelection.ASEvaluation

  `clean, doNotCheckCapabilitiesTipText, forName, getDoNotCheckCapabilities, makeCopies, postExecution, preExecution, run, runEvaluator, setDoNotCheckCapabilities`

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

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

- ## Constructor Details

  - ### OneRAttributeEval

    public OneRAttributeEval()
    Constructor

- ## Method Details

  - ### globalInfo

    public String globalInfo()
    Returns a string describing this attribute evaluator
    Returns:
      a description of the evaluator suitable for displaying in the explorer/experimenter gui

  - ### seedTipText

    public String seedTipText()
    Returns a string for this option suitable for display in the gui as a tip text
    Returns:
      a string describing this option

  - ### setSeed

    public void setSeed(int seed)
    Set the random number seed for cross validation
    Parameters:
      `seed` - the seed to use

  - ### getSeed

    public int getSeed()
    Get the random number seed
    Returns:
      an `int` value

  - ### foldsTipText

    public String foldsTipText()
    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 folds)
    Set the number of folds to use for cross validation
    Parameters:
      `folds` - the number of folds

  - ### getFolds

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

  - ### evalUsingTrainingDataTipText

    public String evalUsingTrainingDataTipText()
    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 e)
    Use the training data to evaluate attributes rather than cross validation
    Parameters:
      `e` - true if training data is to be used for evaluation

  - ### minimumBucketSizeTipText

    public String minimumBucketSizeTipText()
    Returns a string for this option suitable for display in the gui as a tip text
    Returns:
      a string describing this option

  - ### setMinimumBucketSize

    public void setMinimumBucketSize(int minB)
    Set the minumum bucket size used by OneR
    Parameters:
      `minB` - the minimum bucket size to use

  - ### getMinimumBucketSize

    public int getMinimumBucketSize()
    Get the minimum bucket size used by oneR
    Returns:
      the minimum bucket size used

  - ### 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

  - ### listOptions

    public Enumeration<Option> listOptions()
    Returns an enumeration describing the available options.
    Specified by:
      `listOptions` in interface `OptionHandler`
    Overrides:
      `listOptions` in class `ASEvaluation`
    Returns:
      an enumeration of all the available options.

  - ### setOptions

    public void setOptions(String[] options) throws 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 <minimum bucket size>
          Minimum number of objects in a bucket
          (passed on to OneR, default = 6)

    Specified by:
      `setOptions` in interface `OptionHandler`
    Overrides:
      `setOptions` in class `ASEvaluation`
    Parameters:
      `options` - the list of options as an array of strings
    Throws:
      `Exception` - if an option is not supported

  - ### getOptions

    public String[] getOptions()
    returns the current setup.
    Specified by:
      `getOptions` in interface `OptionHandler`
    Overrides:
      `getOptions` in class `ASEvaluation`
    Returns:
      the options of the current setup

  - ### 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 Exception
    Initializes a OneRAttribute attribute evaluator. Discretizes all attributes that are numeric.
    Specified by:
      `buildEvaluator` in class `ASEvaluation`
    Parameters:
      `data` - set of instances serving as training data
    Throws:
      `Exception` - if the evaluator has not been generated successfully

  - ### evaluateAttribute

    public double evaluateAttribute(int attribute) throws 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 "merit" of the attribute
    Throws:
      `Exception` - if the attribute could not be evaluated

  - ### toString

    public String toString()
    Return a description of the evaluator
    Overrides:
      `toString` in class `Object`
    Returns:
      description as a string

  - ### getRevision

    public String getRevision()
    Returns the revision string.
    Specified by:
      `getRevision` in interface `RevisionHandler`
    Overrides:
      `getRevision` in class `ASEvaluation`
    Returns:
      the revision

  - ### postProcess

    public int[] postProcess(int[] attributeSet)
    Description copied from class: `ASEvaluation`
    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.
    Overrides:
      `postProcess` in class `ASEvaluation`
    Parameters:
      `attributeSet` - the set of attributes found by the search
    Returns:
      a possibly ranked list of postprocessed attributes

  - ### main

    public static void main(String[] args)
    Main method for testing this class.
    Parameters:
      `args` - the options