Package weka.classifiers.rules
Class DecisionTable
java.lang.Object
weka.classifiers.AbstractClassifier
weka.classifiers.rules.DecisionTable
- All Implemented Interfaces:
Serializable,Cloneable,Classifier,AdditionalMeasureProducer,BatchPredictor,CapabilitiesHandler,CapabilitiesIgnorer,CommandlineRunnable,OptionHandler,RevisionHandler,TechnicalInformationHandler,WeightedInstancesHandler
public class DecisionTable
extends AbstractClassifier
implements OptionHandler, WeightedInstancesHandler, AdditionalMeasureProducer, TechnicalInformationHandler
Class for building and using a simple decision
table majority classifier.
For more information see:
Ron Kohavi: The Power of Decision Tables. In: 8th European Conference on Machine Learning, 174-189, 1995. BibTeX:
For more information see:
Ron Kohavi: The Power of Decision Tables. In: 8th European Conference on Machine Learning, 174-189, 1995. BibTeX:
@inproceedings{Kohavi1995,
author = {Ron Kohavi},
booktitle = {8th European Conference on Machine Learning},
pages = {174-189},
publisher = {Springer},
title = {The Power of Decision Tables},
year = {1995}
}
Valid options are:
-S <search method specification> Full class name of search method, followed by its options. eg: "weka.attributeSelection.BestFirst -D 1" (default weka.attributeSelection.BestFirst)
-X <number of folds> Use cross validation to evaluate features. Use number of folds = 1 for leave one out CV. (Default = leave one out CV)
-E <acc | rmse | mae | auc> Performance evaluation measure to use for selecting attributes. (Default = accuracy for discrete class and rmse for numeric class)
-I Use nearest neighbour instead of global table majority.
-R Display decision table rules.
Options specific to search method weka.attributeSelection.BestFirst:
-P <start set> Specify a starting set of attributes. Eg. 1,3,5-7.
-D <0 = backward | 1 = forward | 2 = bi-directional> Direction of search. (default = 1).
-N <num> Number of non-improving nodes to consider before terminating search.
-S <num> Size of lookup cache for evaluated subsets. Expressed as a multiple of the number of attributes in the data set. (default = 1)
- Version:
- $Revision: 15520 $
- Author:
- Mark Hall (mhall@cs.waikato.ac.nz)
- See Also:
-
Field Summary
FieldsModifier and TypeFieldDescriptionstatic final intstatic final intstatic final intdefault is accuracy for discrete class and RMSE for numeric classstatic final intstatic final intstatic final Tag[]Fields inherited from class weka.classifiers.AbstractClassifier
BATCH_SIZE_DEFAULT, NUM_DECIMAL_PLACES_DEFAULT -
Constructor Summary
Constructors -
Method Summary
Modifier and TypeMethodDescriptionvoidbuildClassifier(Instances data) Generates the classifier.Returns the tip text for this propertyReturns the tip text for this propertydouble[]distributionForInstance(Instance instance) Calculates the class membership probabilities for the given test instance.Returns an enumeration of the additional measure namesReturns the tip text for this propertyReturns default capabilities of the classifier.intGets the number of folds for cross validationbooleanGets whether rules are being printedGets the currently set performance evaluation measure used for selecting attributes for the decision tabledoublegetMeasure(String additionalMeasureName) Returns the value of the named measureString[]Gets the current settings of the classifier.Returns the revision string.Gets the current search methodReturns an instance of a TechnicalInformation object, containing detailed information about the technical background of this class, e.g., paper reference or book this class is based on.booleanGets whether IBk is being used instead of the majority classReturns a string describing classifierReturns an enumeration describing the available options.static voidMain method for testing this class.doubleReturns the number of rulesReturns a string description of the features selectedReturns the tip text for this propertyvoidsetCrossVal(int folds) Sets the number of folds for cross validation (1 = leave one out)voidsetDisplayRules(boolean rules) Sets whether rules are to be printedvoidsetEvaluationMeasure(SelectedTag newMethod) Sets the performance evaluation measure to use for selecting attributes for the decision tablevoidsetOptions(String[] options) Parses the options for this object.voidSets the search method to usevoidsetUseIBk(boolean ibk) Sets whether IBk should be used instead of the majority classtoString()Returns a description of the classifier.Returns the tip text for this propertyMethods inherited from class weka.classifiers.AbstractClassifier
batchSizeTipText, classifyInstance, debugTipText, distributionsForInstances, doNotCheckCapabilitiesTipText, forName, getBatchSize, getDebug, getDoNotCheckCapabilities, getNumDecimalPlaces, implementsMoreEfficientBatchPrediction, makeCopies, makeCopy, numDecimalPlacesTipText, postExecution, preExecution, run, runClassifier, setBatchSize, setDebug, setDoNotCheckCapabilities, setNumDecimalPlaces
-
Field Details
-
EVAL_DEFAULT
public static final int EVAL_DEFAULTdefault is accuracy for discrete class and RMSE for numeric class- See Also:
-
EVAL_ACCURACY
public static final int EVAL_ACCURACY- See Also:
-
EVAL_RMSE
public static final int EVAL_RMSE- See Also:
-
EVAL_MAE
public static final int EVAL_MAE- See Also:
-
EVAL_AUC
public static final int EVAL_AUC- See Also:
-
TAGS_EVALUATION
-
-
Constructor Details
-
DecisionTable
public DecisionTable()Constructor for a DecisionTable
-
-
Method Details
-
globalInfo
Returns a string describing classifier- Returns:
- a description suitable for displaying in the explorer/experimenter gui
-
getTechnicalInformation
Returns an instance of a TechnicalInformation object, containing detailed information about the technical background of this class, e.g., paper reference or book this class is based on.- Specified by:
getTechnicalInformationin interfaceTechnicalInformationHandler- Returns:
- the technical information about this class
-
listOptions
Returns an enumeration describing the available options.- Specified by:
listOptionsin interfaceOptionHandler- Overrides:
listOptionsin classAbstractClassifier- Returns:
- an enumeration of all the available options.
-
crossValTipText
Returns the tip text for this property- Returns:
- tip text for this property suitable for displaying in the explorer/experimenter gui
-
setCrossVal
public void setCrossVal(int folds) Sets the number of folds for cross validation (1 = leave one out)- Parameters:
folds- the number of folds
-
getCrossVal
public int getCrossVal()Gets the number of folds for cross validation- Returns:
- the number of cross validation folds
-
useIBkTipText
Returns the tip text for this property- Returns:
- tip text for this property suitable for displaying in the explorer/experimenter gui
-
setUseIBk
public void setUseIBk(boolean ibk) Sets whether IBk should be used instead of the majority class- Parameters:
ibk- true if IBk is to be used
-
getUseIBk
public boolean getUseIBk()Gets whether IBk is being used instead of the majority class- Returns:
- true if IBk is being used
-
displayRulesTipText
Returns the tip text for this property- Returns:
- tip text for this property suitable for displaying in the explorer/experimenter gui
-
setDisplayRules
public void setDisplayRules(boolean rules) Sets whether rules are to be printed- Parameters:
rules- true if rules are to be printed
-
getDisplayRules
public boolean getDisplayRules()Gets whether rules are being printed- Returns:
- true if rules are being printed
-
searchTipText
Returns the tip text for this property- Returns:
- tip text for this property suitable for displaying in the explorer/experimenter gui
-
setSearch
Sets the search method to use- Parameters:
search-
-
getSearch
Gets the current search method- Returns:
- the search method used
-
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
-
setOptions
Parses the options for this object. Valid options are:-S <search method specification> Full class name of search method, followed by its options. eg: "weka.attributeSelection.BestFirst -D 1" (default weka.attributeSelection.BestFirst)
-X <number of folds> Use cross validation to evaluate features. Use number of folds = 1 for leave one out CV. (Default = leave one out CV)
-E <acc | rmse | mae | auc> Performance evaluation measure to use for selecting attributes. (Default = accuracy for discrete class and rmse for numeric class)
-I Use nearest neighbour instead of global table majority.
-R Display decision table rules.
Options specific to search method weka.attributeSelection.BestFirst:
-P <start set> Specify a starting set of attributes. Eg. 1,3,5-7.
-D <0 = backward | 1 = forward | 2 = bi-directional> Direction of search. (default = 1).
-N <num> Number of non-improving nodes to consider before terminating search.
-S <num> Size of lookup cache for evaluated subsets. Expressed as a multiple of the number of attributes in the data set. (default = 1)
- Specified by:
setOptionsin interfaceOptionHandler- Overrides:
setOptionsin classAbstractClassifier- Parameters:
options- the list of options as an array of strings- Throws:
Exception- if an option is not supported
-
getOptions
Gets the current settings of the classifier.- Specified by:
getOptionsin interfaceOptionHandler- Overrides:
getOptionsin classAbstractClassifier- Returns:
- an array of strings suitable for passing to setOptions
-
getCapabilities
Returns default capabilities of the classifier.- Specified by:
getCapabilitiesin interfaceCapabilitiesHandler- Specified by:
getCapabilitiesin interfaceClassifier- Overrides:
getCapabilitiesin classAbstractClassifier- Returns:
- the capabilities of this classifier
- See Also:
-
buildClassifier
Generates the classifier.- Specified by:
buildClassifierin interfaceClassifier- Parameters:
data- set of instances serving as training data- Throws:
Exception- if the classifier has not been generated successfully
-
distributionForInstance
Calculates the class membership probabilities for the given test instance.- Specified by:
distributionForInstancein interfaceClassifier- Overrides:
distributionForInstancein classAbstractClassifier- Parameters:
instance- the instance to be classified- Returns:
- predicted class probability distribution
- Throws:
Exception- if distribution can't be computed
-
printFeatures
Returns a string description of the features selected- Returns:
- a string of features
-
measureNumRules
public double measureNumRules()Returns the number of rules- Returns:
- the number of rules
-
enumerateMeasures
Returns an enumeration of the additional measure names- Specified by:
enumerateMeasuresin interfaceAdditionalMeasureProducer- Returns:
- an enumeration of the measure names
-
getMeasure
Returns the value of the named measure- Specified by:
getMeasurein interfaceAdditionalMeasureProducer- Parameters:
additionalMeasureName- the name of the measure to query for its value- Returns:
- the value of the named measure
- Throws:
IllegalArgumentException- if the named measure is not supported
-
toString
Returns a description of the classifier. -
getRevision
Returns the revision string.- Specified by:
getRevisionin interfaceRevisionHandler- Overrides:
getRevisionin classAbstractClassifier- Returns:
- the revision
-
main
Main method for testing this class.- Parameters:
argv- the command-line options
-