Overview | Package | Class | Tree | Deprecated | Index | Help | Weka's home | Weka's home | Weka's home | Weka's home | Weka's home | Weka's home
PREV CLASS NEXT CLASS | FRAMES NO FRAMES
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD

## weka.attributeSelection
Class SymmetricalUncertAttributeSetEval

    java.lang.Object
      weka.attributeSelection.ASEvaluation
          weka.attributeSelection.AttributeSetEvaluator
              weka.attributeSelection.SymmetricalUncertAttributeSetEval

All Implemented Interfaces:
  java.io.Serializable, CapabilitiesHandler, OptionHandler, RevisionHandler, TechnicalInformationHandler

    public class SymmetricalUncertAttributeSetEval

extends AttributeSetEvaluator
implements OptionHandler, TechnicalInformationHandler

SymmetricalUncertAttributeSetEval :
Evaluates the worth of a set attributes by measuring the symmetrical uncertainty with respect to another set of attributes.
SymmU(AttributeSet2, AttributeSet1) = 2 * (H(AttributeSet2) - H(AttributeSet1 | AttributeSet2)) / H(AttributeSet2) + H(AttributeSet1).
For more information see:
Lei Yu, Huan Liu: Feature Selection for High-Dimensional Data: A Fast Correlation-Based Filter Solution. In: Proceedings of the Twentieth International Conference on Machine Learning, 856-863, 2003.

BibTeX:

     @inproceedings{Yu2003,
        author = {Lei Yu and Huan Liu},
        booktitle = {Proceedings of the Twentieth International Conference on Machine Learning},
        pages = {856-863},
        publisher = {AAAI Press},
        title = {Feature Selection for High-Dimensional Data: A Fast Correlation-Based Filter Solution},
        year = {2003}
     }

Valid options are:

     -M
      treat missing values as a seperate value.

Version:
  $Revision: 5511 $
Author:
  Zheng Zhao: zhaozheng at asu.edu
See Also:
  `Discretize`, Serialized Form

Constructor Summary
`SymmetricalUncertAttributeSetEval()` Constructor

Method Summary
`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.
`double` | `evaluateAttribute(int[] attributes, int[] classAttributes)` calculate symmetrical uncertainty between sets of attributes
`Capabilities` | `getCapabilities()` Returns the capabilities of this evaluator.
`boolean` | `getMissingMerge()` get whether missing values are being distributed or not
`java.lang.String[]` | `getOptions()` Gets the current settings of WrapperSubsetEval.
`java.lang.String` | `getRevision()` Returns the revision string.
`TechnicalInformation` | `getTechnicalInformation()` Returns an instance of a TechnicalInformation object, containing detailed information about the technical background of this class, e.g., paper reference or book this class is based on.
`java.lang.String` | `globalInfo()` Returns a string describing this attribute evaluator
`java.util.Enumeration` | `listOptions()` Returns an enumeration describing the available options.
`static void` | `main(java.lang.String[] argv)` Main method for testing this class.
`java.lang.String` | `missingMergeTipText()` Returns the tip text for this property
`void` | `setMissingMerge(boolean b)` distribute the counts for missing values across observed values
`void` | `setOptions(java.lang.String[] options)` Parses a given list of options.
`java.lang.String` | `toString()` Return a description of the evaluator

Methods inherited from class weka.attributeSelection.ASEvaluation
`forName, makeCopies, postProcess`

Methods inherited from class java.lang.Object
`equals, getClass, hashCode, notify, notifyAll, wait, wait, wait`

Constructor Detail

### SymmetricalUncertAttributeSetEval

    public SymmetricalUncertAttributeSetEval()

  Constructor

Method Detail

### globalInfo

    public java.lang.String globalInfo()

  Returns a string describing this attribute evaluator

  Returns:
    a description of the evaluator suitable for displaying in the explorer/experimenter gui

### getTechnicalInformation

    public TechnicalInformation getTechnicalInformation()

  Returns an instance of a TechnicalInformation object, containing detailed information about the technical background of this class, e.g., paper reference or book this class is based on.

  Specified by:
    `getTechnicalInformation` in interface `TechnicalInformationHandler`
  Returns:
    the technical information about this class

### listOptions

    public java.util.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(java.lang.String[] options)
                    throws java.lang.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:
    `java.lang.Exception` - if an option is not supported

### missingMergeTipText

    public java.lang.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 java.lang.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 java.lang.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:
    `java.lang.Exception` - if the evaluator has not been generated successfully

### evaluateAttribute

    public double evaluateAttribute(int attribute)
                             throws java.lang.Exception

  evaluates an individual attribute by measuring the symmetrical uncertainty between it and the class.

  Specified by:
    `evaluateAttribute` in class `AttributeSetEvaluator`
  Parameters:
    `attribute` - the index of the attribute to be evaluated
  Returns:
    the uncertainty
  Throws:
    `java.lang.Exception` - if the attribute could not be evaluated

### evaluateAttribute

    public double evaluateAttribute(int[] attributes,
                                    int[] classAttributes)
                             throws java.lang.Exception

  calculate symmetrical uncertainty between sets of attributes

  Specified by:
    `evaluateAttribute` in class `AttributeSetEvaluator`
  Parameters:
    `attributes` - the indexes of the attributes
    `classAttributes` - the indexes of the attributes whose combination will be used as class label
  Returns:
    the uncertainty
  Throws:
    `java.lang.Exception` - if the attribute could not be evaluated

### toString

    public java.lang.String toString()

  Return a description of the evaluator

  Overrides:
    `toString` in class `java.lang.Object`
  Returns:
    description as a string

### getRevision

    public java.lang.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(java.lang.String[] argv)

  Main method for testing this class.

  Parameters:
    `argv` - should contain the following arguments: -t training file

Overview | Package | Class | Tree | Deprecated | Index | Help | Weka's home | Weka's home | Weka's home | Weka's home | Weka's home | Weka's home
PREV CLASS NEXT CLASS | FRAMES NO FRAMES
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD