Package weka.attributeSelection
Class GainRatioAttributeEval
- java.lang.Object
-
- weka.attributeSelection.ASEvaluation
-
- weka.attributeSelection.GainRatioAttributeEval
-
- All Implemented Interfaces:
java.io.Serializable
,AttributeEvaluator
,CapabilitiesHandler
,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 seperate value.
- Version:
- $Revision: 11219 $
- Author:
- Mark Hall (mhall@cs.waikato.ac.nz)
- See Also:
Discretize
, Serialized Form
-
-
Constructor Summary
Constructors Constructor Description GainRatioAttributeEval()
Constructor
-
Method Summary
All Methods Static Methods Instance Methods Concrete Methods Modifier and Type Method Description void
buildEvaluator(Instances data)
Initializes a gain ratio attribute evaluator.double
evaluateAttribute(int attribute)
evaluates an individual attribute by measuring the gain ratio of the class given the attribute.Capabilities
getCapabilities()
Returns the capabilities of this evaluator.boolean
getMissingMerge()
get whether missing values are being distributed or notjava.lang.String[]
getOptions()
Gets the current settings of WrapperSubsetEval.java.lang.String
getRevision()
Returns the revision string.java.lang.String
globalInfo()
Returns a string describing this attribute evaluatorjava.util.Enumeration
listOptions()
Returns an enumeration describing the available options.static void
main(java.lang.String[] args)
Main method.java.lang.String
missingMergeTipText()
Returns the tip text for this propertyint[]
postProcess(int[] attributeSet)
Provides a chance for a attribute evaluator to do any special post processing of the selected attribute set.void
setMissingMerge(boolean b)
distribute the counts for missing values across observed valuesvoid
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
clean, forName, makeCopies
-
-
-
-
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
-
listOptions
public java.util.Enumeration listOptions()
Returns an enumeration describing the available options.- Specified by:
listOptions
in interfaceOptionHandler
- 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 interfaceOptionHandler
- 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 interfaceOptionHandler
- Returns:
- an array of strings suitable for passing to setOptions()
-
getCapabilities
public Capabilities getCapabilities()
Returns the capabilities of this evaluator.- Specified by:
getCapabilities
in interfaceCapabilitiesHandler
- Overrides:
getCapabilities
in classASEvaluation
- Returns:
- the capabilities of this evaluator
- See Also:
Capabilities
-
buildEvaluator
public void buildEvaluator(Instances data) throws java.lang.Exception
Initializes a gain ratio attribute evaluator. Discretizes all attributes that are numeric.- Specified by:
buildEvaluator
in classASEvaluation
- 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 gain ratio of the class given the attribute.- Specified by:
evaluateAttribute
in interfaceAttributeEvaluator
- Parameters:
attribute
- the index of the attribute to be evaluated- Returns:
- the gain ratio
- 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 classjava.lang.Object
- Returns:
- description as a string
-
getRevision
public java.lang.String getRevision()
Returns the revision string.- Specified by:
getRevision
in interfaceRevisionHandler
- Overrides:
getRevision
in classASEvaluation
- 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.- Overrides:
postProcess
in classASEvaluation
- Parameters:
attributeSet
- the set of attributes found by the search- Returns:
- a possibly ranked list of postprocessed attributes
-
main
public static void main(java.lang.String[] args)
Main method.- Parameters:
args
- the options -t training file
-
-