Class GainRatioAttributeEval

java.lang.Object
weka.attributeSelection.ASEvaluation
weka.attributeSelection.GainRatioAttributeEval
All Implemented Interfaces:
Serializable, AttributeEvaluator, CapabilitiesHandler, CapabilitiesIgnorer, CommandlineRunnable, OptionHandler, RevisionHandler

public class GainRatioAttributeEval extends ASEvaluation implements AttributeEvaluator, OptionHandler
GainRatioAttributeEval :

Evaluates the worth of an attribute by measuring the gain ratio with respect to the class.

GainR(Class, Attribute) = (H(Class) - H(Class | Attribute)) / 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

    • GainRatioAttributeEval

      public GainRatioAttributeEval()
      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 gain ratio 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 gain ratio of the class given the attribute.
      Specified by:
      evaluateAttribute in interface AttributeEvaluator
      Parameters:
      attribute - the index of the attribute to be evaluated
      Returns:
      the gain ratio
      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.
      Parameters:
      args - the options -t training file