Package weka.attributeSelection
Class ClassifierAttributeEval
java.lang.Object
weka.attributeSelection.ASEvaluation
weka.attributeSelection.ClassifierAttributeEval
- All Implemented Interfaces:
Serializable
,AttributeEvaluator
,CapabilitiesHandler
,CapabilitiesIgnorer
,CommandlineRunnable
,OptionHandler
,RevisionHandler
public class ClassifierAttributeEval
extends ASEvaluation
implements AttributeEvaluator, OptionHandler
ClassifierAttributeEval :
Evaluates the worth of an attribute by using a user-specified classifier.
Valid options are:
Evaluates the worth of an attribute by using a user-specified classifier.
Valid options are:
-L Evaluate an attribute by measuring the impact of leaving it out from the full set instead of considering its worth in isolation
-execution-slots <integer> Number of attributes to evaluate in parallel. Default = 1 (i.e. no parallelism)
-B <base learner> class name of base learner to use for accuracy estimation. Place any classifier options LAST on the command line following a "--". eg.: -B weka.classifiers.bayes.NaiveBayes ... -- -K (default: weka.classifiers.rules.ZeroR)
-F <num> number of cross validation folds to use for estimating accuracy. (default=5)
-R <seed> Seed for cross validation accuracy testimation. (default = 1)
-T <num> threshold by which to execute another cross validation (standard deviation---expressed as a percentage of the mean). (default: 0.01 (1%))
-E <acc | rmse | mae | f-meas | auc | auprc> Performance evaluation measure to use for selecting attributes. (Default = accuracy for discrete class and rmse for numeric class)
-IRclass <label | index> Optional class value (label or 1-based index) to use in conjunction with IR statistics (f-meas, auc or auprc). Omitting this option will use the class-weighted average.
Options specific to scheme weka.classifiers.rules.ZeroR:
-output-debug-info If set, classifier is run in debug mode and may output additional info to the console
-do-not-check-capabilities If set, classifier capabilities are not checked before classifier is built (use with caution).
- Version:
- $Revision: 14195 $
- Author:
- Mark Hall (mhall@cs.waikato.ac.nz), FracPete (fracpete at waikato dot ac dot nz)
- See Also:
-
Constructor Summary
-
Method Summary
Modifier and TypeMethodDescriptionvoid
buildEvaluator
(Instances data) Initializes a ClassifierAttribute attribute evaluator.Returns the tip text for this propertydouble
evaluateAttribute
(int attribute) Evaluates an individual attribute by measuring the amount of information gained about the class given the attribute.Returns the tip text for this propertyReturns the tip text for this propertyReturns the capabilities of this evaluator.Get the classifier used as the base learner.Gets the currently set performance evaluation measure used for selecting attributes for the decision tableint
getFolds()
Get the number of folds used for accuracy estimationGet the class value (label or index) to use with IR metric evaluation of subsets.boolean
Get whether to evaluate the merit of an attribute based on the impact of leaving it out from the full set instead of considering its worth in isolationint
Get the number of attributes to evaluate in parallelString[]
returns the current setup.Returns the revision string.int
getSeed()
Get the random number seed used for cross validationdouble
Get the value of the thresholdReturns a string describing this attribute evaluator.Returns the tip text for this propertyTip text for this propertyReturns an enumeration describing the available options.static void
Main method for executing this class.Tip text for this property.Returns the tip text for this propertyvoid
setClassifier
(Classifier newClassifier) Set the classifier to use for accuracy estimationvoid
setEvaluationMeasure
(SelectedTag newMethod) Sets the performance evaluation measure to use for selecting attributes for the decision tablevoid
setFolds
(int f) Set the number of folds to use for accuracy estimationvoid
setIRClassValue
(String val) Set the class value (label or index) to use with IR metric evaluation of subsets.void
setLeaveOneAttributeOut
(boolean l) Set whether to evaluate the merit of an attribute based on the impact of leaving it out from the full set instead of considering its worth in isolationvoid
setNumToEvaluateInParallel
(int n) Set the number of attributes to evaluate in parallelvoid
setOptions
(String[] options) Parses a given list of options.void
setSeed
(int s) Set the seed to use for cross validationvoid
setThreshold
(double t) Set the value of the threshold for repeating cross validationReturns the tip text for this propertytoString()
Return a description of the evaluator.Methods inherited from class weka.attributeSelection.ASEvaluation
clean, doNotCheckCapabilitiesTipText, forName, getDoNotCheckCapabilities, makeCopies, postExecution, postProcess, preExecution, run, runEvaluator, setDoNotCheckCapabilities
-
Constructor Details
-
ClassifierAttributeEval
public ClassifierAttributeEval()Constructor.
-
-
Method Details
-
globalInfo
Returns a string describing this attribute evaluator.- Returns:
- a description of the evaluator suitable for displaying in the explorer/experimenter gui
-
listOptions
Returns an enumeration describing the available options.- Specified by:
listOptions
in interfaceOptionHandler
- Overrides:
listOptions
in classASEvaluation
- Returns:
- an enumeration of all the available options.
-
setOptions
Parses a given list of options. Valid options are:-L Evaluate an attribute by measuring the impact of leaving it out from the full set instead of considering its worth in isolation
-execution-slots <integer> Number of attributes to evaluate in parallel. Default = 1 (i.e. no parallelism)
-B <base learner> class name of base learner to use for accuracy estimation. Place any classifier options LAST on the command line following a "--". eg.: -B weka.classifiers.bayes.NaiveBayes ... -- -K (default: weka.classifiers.rules.ZeroR)
-F <num> number of cross validation folds to use for estimating accuracy. (default=5)
-R <seed> Seed for cross validation accuracy testimation. (default = 1)
-T <num> threshold by which to execute another cross validation (standard deviation---expressed as a percentage of the mean). (default: 0.01 (1%))
-E <acc | rmse | mae | f-meas | auc | auprc> Performance evaluation measure to use for selecting attributes. (Default = accuracy for discrete class and rmse for numeric class)
-IRclass <label | index> Optional class value (label or 1-based index) to use in conjunction with IR statistics (f-meas, auc or auprc). Omitting this option will use the class-weighted average.
Options specific to scheme weka.classifiers.rules.ZeroR:
-output-debug-info If set, classifier is run in debug mode and may output additional info to the console
-do-not-check-capabilities If set, classifier capabilities are not checked before classifier is built (use with caution).
- Specified by:
setOptions
in interfaceOptionHandler
- Overrides:
setOptions
in classASEvaluation
- Parameters:
options
- the list of options as an array of strings- Throws:
Exception
- if an option is not supported
-
getOptions
returns the current setup.- Specified by:
getOptions
in interfaceOptionHandler
- Overrides:
getOptions
in classASEvaluation
- Returns:
- the options of the current setup
-
leaveOneAttributeOutTipText
Tip text for this property- Returns:
- the tip text for this property
-
setLeaveOneAttributeOut
public void setLeaveOneAttributeOut(boolean l) Set whether to evaluate the merit of an attribute based on the impact of leaving it out from the full set instead of considering its worth in isolation- Parameters:
l
- true if each attribute should be evaluated by measuring the impact of leaving it out from the full set
-
getLeaveOneAttributeOut
public boolean getLeaveOneAttributeOut()Get whether to evaluate the merit of an attribute based on the impact of leaving it out from the full set instead of considering its worth in isolation- Returns:
- true if each attribute should be evaluated by measuring the impact of leaving it out from the full set
-
numToEvaluateInParallelTipText
Tip text for this property.- Returns:
- the tip text for this property
-
setNumToEvaluateInParallel
public void setNumToEvaluateInParallel(int n) Set the number of attributes to evaluate in parallel- Parameters:
n
- the number of attributes to evaluate in parallel
-
getNumToEvaluateInParallel
public int getNumToEvaluateInParallel()Get the number of attributes to evaluate in parallel- Returns:
- the number of attributes to evaluate in parallel
-
setIRClassValue
Set the class value (label or index) to use with IR metric evaluation of subsets. Leaving this unset will result in the class weighted average for the IR metric being used.- Parameters:
val
- the class label or 1-based index of the class label to use when evaluating subsets with an IR metric
-
getIRClassValue
Get the class value (label or index) to use with IR metric evaluation of subsets. Leaving this unset will result in the class weighted average for the IR metric being used.- Returns:
- the class label or 1-based index of the class label to use when evaluating subsets with an IR metric
-
IRClassValueTipText
Returns the tip text for this property- Returns:
- tip text for this property suitable for displaying in the explorer/experimenter gui
-
evaluationMeasureTipText
Returns the tip text for this property- Returns:
- tip text for this property suitable for displaying in the explorer/experimenter gui
-
getEvaluationMeasure
Gets the currently set performance evaluation measure used for selecting attributes for the decision table- Returns:
- the performance evaluation measure
-
setEvaluationMeasure
Sets the performance evaluation measure to use for selecting attributes for the decision table- Parameters:
newMethod
- the new performance evaluation metric to use
-
thresholdTipText
Returns the tip text for this property- Returns:
- tip text for this property suitable for displaying in the explorer/experimenter gui
-
setThreshold
public void setThreshold(double t) Set the value of the threshold for repeating cross validation- Parameters:
t
- the value of the threshold
-
getThreshold
public double getThreshold()Get the value of the threshold- Returns:
- the threshold as a double
-
foldsTipText
Returns the tip text for this property- Returns:
- tip text for this property suitable for displaying in the explorer/experimenter gui
-
setFolds
public void setFolds(int f) Set the number of folds to use for accuracy estimation- Parameters:
f
- the number of folds
-
getFolds
public int getFolds()Get the number of folds used for accuracy estimation- Returns:
- the number of folds
-
seedTipText
Returns the tip text for this property- Returns:
- tip text for this property suitable for displaying in the explorer/experimenter gui
-
setSeed
public void setSeed(int s) Set the seed to use for cross validation- Parameters:
s
- the seed
-
getSeed
public int getSeed()Get the random number seed used for cross validation- Returns:
- the seed
-
classifierTipText
Returns the tip text for this property- Returns:
- tip text for this property suitable for displaying in the explorer/experimenter gui
-
setClassifier
Set the classifier to use for accuracy estimation- Parameters:
newClassifier
- the Classifier to use.
-
getClassifier
Get the classifier used as the base learner.- Returns:
- the classifier used as the classifier
-
getCapabilities
Returns the capabilities of this evaluator.- Specified by:
getCapabilities
in interfaceCapabilitiesHandler
- Overrides:
getCapabilities
in classASEvaluation
- Returns:
- the capabilities of this evaluator
- See Also:
-
buildEvaluator
Initializes a ClassifierAttribute attribute evaluator.- Specified by:
buildEvaluator
in classASEvaluation
- Parameters:
data
- set of instances serving as training data- Throws:
Exception
- if the evaluator has not been generated successfully
-
evaluateAttribute
Evaluates an individual attribute by measuring the amount of information gained about the class given the attribute.- Specified by:
evaluateAttribute
in interfaceAttributeEvaluator
- Parameters:
attribute
- the index of the attribute to be evaluated- Returns:
- the evaluation
- Throws:
Exception
- if the attribute could not be evaluated
-
toString
Return a description of the evaluator. -
getRevision
Returns the revision string.- Specified by:
getRevision
in interfaceRevisionHandler
- Overrides:
getRevision
in classASEvaluation
- Returns:
- the revision
-
main
Main method for executing this class.- Parameters:
args
- the options
-