Package weka.attributeSelection
Class InfoGainAttributeEval
- java.lang.Object
-
- weka.attributeSelection.ASEvaluation
-
- weka.attributeSelection.InfoGainAttributeEval
-
- All Implemented Interfaces:
Serializable,AttributeEvaluator,CapabilitiesHandler,CapabilitiesIgnorer,CommandlineRunnable,OptionHandler,RevisionHandler
public class InfoGainAttributeEval extends ASEvaluation implements AttributeEvaluator, OptionHandler
InfoGainAttributeEval :
Evaluates the worth of an attribute by measuring the information gain with respect to the class.
InfoGain(Class,Attribute) = H(Class) - H(Class | Attribute).
Valid options are:-M treat missing values as a separate value.
-B just binarize numeric attributes instead of properly discretizing them.
- Version:
- $Revision$
- Author:
- Mark Hall (mhall@cs.waikato.ac.nz)
- See Also:
Discretize,NumericToBinary, Serialized Form
-
-
Constructor Summary
Constructors Constructor Description InfoGainAttributeEval()Constructor
-
Method Summary
All Methods Static Methods Instance Methods Concrete Methods Modifier and Type Method Description StringbinarizeNumericAttributesTipText()Returns the tip text for this propertyvoidbuildEvaluator(Instances data)Initializes an information gain attribute evaluator.doubleevaluateAttribute(int attribute)evaluates an individual attribute by measuring the amount of information gained about the class given the attribute.booleangetBinarizeNumericAttributes()get whether numeric attributes are just being binarized.CapabilitiesgetCapabilities()Returns the capabilities of this evaluator.booleangetMissingMerge()get whether missing values are being distributed or notString[]getOptions()Gets the current settings of WrapperSubsetEval.StringgetRevision()Returns the revision string.StringglobalInfo()Returns a string describing this attribute evaluatorEnumeration<Option>listOptions()Returns an enumeration describing the available options.static voidmain(String[] args)Main method for testing this class.StringmissingMergeTipText()Returns the tip text for this propertyvoidsetBinarizeNumericAttributes(boolean b)Binarize numeric attributes.voidsetMissingMerge(boolean b)distribute the counts for missing values across observed valuesvoidsetOptions(String[] options)Parses a given list of options.StringtoString()Describe the attribute evaluator-
Methods inherited from class weka.attributeSelection.ASEvaluation
clean, doNotCheckCapabilitiesTipText, forName, getDoNotCheckCapabilities, makeCopies, postExecution, postProcess, preExecution, run, runEvaluator, setDoNotCheckCapabilities
-
-
-
-
Method Detail
-
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:
listOptionsin interfaceOptionHandler- Overrides:
listOptionsin classASEvaluation- 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.
-B just binarize numeric attributes instead of properly discretizing them.
- Specified by:
setOptionsin interfaceOptionHandler- Overrides:
setOptionsin classASEvaluation- Parameters:
options- the list of options as an array of strings- Throws:
Exception- if an option is not supported
-
getOptions
public String[] getOptions()
Gets the current settings of WrapperSubsetEval.- Specified by:
getOptionsin interfaceOptionHandler- Overrides:
getOptionsin classASEvaluation- Returns:
- an array of strings suitable for passing to setOptions()
-
binarizeNumericAttributesTipText
public String binarizeNumericAttributesTipText()
Returns the tip text for this property- Returns:
- tip text for this property suitable for displaying in the explorer/experimenter gui
-
setBinarizeNumericAttributes
public void setBinarizeNumericAttributes(boolean b)
Binarize numeric attributes.- Parameters:
b- true=binarize numeric attributes
-
getBinarizeNumericAttributes
public boolean getBinarizeNumericAttributes()
get whether numeric attributes are just being binarized.- Returns:
- true if missing values are being distributed.
-
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.
-
getCapabilities
public Capabilities getCapabilities()
Returns the capabilities of this evaluator.- Specified by:
getCapabilitiesin interfaceCapabilitiesHandler- Overrides:
getCapabilitiesin classASEvaluation- Returns:
- the capabilities of this evaluator
- See Also:
Capabilities
-
buildEvaluator
public void buildEvaluator(Instances data) throws Exception
Initializes an information gain attribute evaluator. Discretizes all attributes that are numeric.- Specified by:
buildEvaluatorin classASEvaluation- 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 Exceptionevaluates an individual attribute by measuring the amount of information gained about the class given the attribute.- Specified by:
evaluateAttributein interfaceAttributeEvaluator- Parameters:
attribute- the index of the attribute to be evaluated- Returns:
- the info gain
- Throws:
Exception- if the attribute could not be evaluated
-
toString
public String toString()
Describe the attribute evaluator
-
getRevision
public String getRevision()
Returns the revision string.- Specified by:
getRevisionin interfaceRevisionHandler- Overrides:
getRevisionin classASEvaluation- Returns:
- the revision
-
main
public static void main(String[] args)
Main method for testing this class.- Parameters:
args- the options
-
-