Package weka.attributeSelection

# Class SymmetricalUncertAttributeEval

java.lang.Object
weka.attributeSelection.ASEvaluation
weka.attributeSelection.SymmetricalUncertAttributeEval

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

public class SymmetricalUncertAttributeEval extends ASEvaluation implements AttributeEvaluator, OptionHandler
SymmetricalUncertAttributeEval :
Evaluates the worth of an attribute by measuring the symmetrical uncertainty with respect to the class.
SymmU(Class, Attribute) = 2 * (H(Class) - H(Class | Attribute)) / H(Class) + H(Attribute).

Valid options are:

     -M
      treat missing values as a separate value.

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

- ## Constructor Summary

  Constructors
  Constructor
  Description
  `SymmetricalUncertAttributeEval()`
  Constructor

- ## Method Summary

  Modifier and Type
  Method
  Description
  `void`
  `buildEvaluator(Instances data)`
  Initializes a symmetrical uncertainty attribute evaluator.
  `double`
  `evaluateAttribute(int attribute)`
  evaluates an individual attribute by measuring the symmetrical uncertainty between it and the class.
  `Capabilities`
  `getCapabilities()`
  Returns the capabilities of this evaluator.
  `boolean`
  `getMissingMerge()`
  get whether missing values are being distributed or not
  `String[]`
  `getOptions()`
  Gets the current settings of WrapperSubsetEval.
  `String`
  `getRevision()`
  Returns the revision string.
  `String`
  `globalInfo()`
  Returns a string describing this attribute evaluator
  `Enumeration<Option>`
  `listOptions()`
  Returns an enumeration describing the available options.
  `static void`
  `main(String[] argv)`
  Main method for testing this class.
  `String`
  `missingMergeTipText()`
  Returns the tip text for this property
  `void`
  `setMissingMerge(boolean b)`
  distribute the counts for missing values across observed values
  `void`
  `setOptions(String[] options)`
  Parses a given list of options.
  `String`
  `toString()`
  Return a description of the evaluator

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

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

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

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

- ## Constructor Details

  - ### SymmetricalUncertAttributeEval

    public SymmetricalUncertAttributeEval()
    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

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

         -M
          treat missing values as a separate value.

    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

  - ### missingMergeTipText

    public String missingMergeTipText()
    Returns the tip text for this property
    Returns:
      tip text for this property suitable for displaying in the explorer/experimenter gui

  - ### setMissingMerge

    public void setMissingMerge(boolean b)
    distribute the counts for missing values across observed values
    Parameters:
      `b` - true=distribute missing values.

  - ### getMissingMerge

    public boolean getMissingMerge()
    get whether missing values are being distributed or not
    Returns:
      true if missing values are being distributed.

  - ### getOptions

    public String[] getOptions()
    Gets the current settings of WrapperSubsetEval.
    Specified by:
      `getOptions` in interface `OptionHandler`
    Overrides:
      `getOptions` in class `ASEvaluation`
    Returns:
      an array of strings suitable for passing to setOptions()

  - ### 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 symmetrical uncertainty 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 symmetrical uncertainty between it and the class.
    Specified by:
      `evaluateAttribute` in interface `AttributeEvaluator`
    Parameters:
      `attribute` - the index of the attribute to be evaluated
    Returns:
      the uncertainty
    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

  - ### main

    public static void main(String[] argv)
    Main method for testing this class.
    Parameters:
      `argv` - should contain the following arguments: -t training file