Package weka.attributeSelection

# Class SymmetricalUncertAttributeEval

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

All Implemented Interfaces:
  `Serializable`, `AttributeEvaluator`, `CapabilitiesHandler`, `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 seperate value.

Version:
  $Revision: 5511 $
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`
`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, forName, makeCopies, postProcess`

### 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 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(String[] options) throws Exception
Parses a given list of options.

Valid options are:

     -M
      treat missing values as a seperate value.

Specified by:
  `setOptions` in interface `OptionHandler`
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`
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