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: 15519 $
Author:
Mark Hall (mhall@cs.waikato.ac.nz)
See Also:
  • 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:
    • 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