All Packages Class Hierarchy This Package Previous Next Index WEKA's home
Class weka.classifiers.DecisionTable
java.lang.Object
|
+----weka.classifiers.Classifier
|
+----weka.classifiers.DistributionClassifier
|
+----weka.classifiers.DecisionTable
- public class DecisionTable
- extends DistributionClassifier
- implements OptionHandler, WeightedInstancesHandler, AdditionalMeasureProducer
Class for building and using a simple decision table majority classifier.
For more information see:
Kohavi R. (1995). The Power of Decision Tables. In Proc
European Conference on Machine Learning.
Valid options are:
-S num
Number of fully expanded non improving subsets to consider
before terminating a best first search.
(Default = 5)
-X num
Use cross validation to evaluate features. Use number of folds = 1 for
leave one out CV. (Default = leave one out CV)
-I
Use nearest neighbour instead of global table majority.
-R
Prints the decision table.
- Version:
- $Revision: 1.21 $
- Author:
- Mark Hall (mhall@cs.waikato.ac.nz)
DecisionTable.hashKey- Class providing keys to the hash table
DecisionTable.Link- Class for a node in a linked list.
DecisionTable.LinkedList- Class for handling a linked list.
DecisionTable()
- Constructor for a DecisionTable
buildClassifier(Instances)
- Generates the classifier.
distributionForInstance(Instance)
- Calculates the class membership probabilities for the given
test instance.
enumerateMeasures()
- Returns an enumeration of the additional measure names
getCrossVal()
- Gets the number of folds for cross validation
getDisplayRules()
- Gets whether rules are being printed
getMaxStale()
- Gets the number of non improving decision tables
getMeasure(String)
- Returns the value of the named measure
getOptions()
- Gets the current settings of the classifier.
getUseIBk()
- Gets whether IBk is being used instead of the majority class
listOptions()
- Returns an enumeration describing the available options
main(String[])
- Main method for testing this class.
measureNumRules()
- Returns the number of rules
printFeatures()
- Returns a string description of the features selected
setCrossVal(int)
- Sets the number of folds for cross validation (1 = leave one out)
setDisplayRules(boolean)
- Sets whether rules are to be printed
setMaxStale(int)
- Sets the number of non improving decision tables to consider
before abandoning the search.
setOptions(String[])
- Parses the options for this object.
setUseIBk(boolean)
- Sets whether IBk should be used instead of the majority class
toString()
- Returns a description of the classifier.
DecisionTable
public DecisionTable()
Constructor for a DecisionTable
listOptions
public java.util.Enumeration listOptions()
Returns an enumeration describing the available options
- Returns:
- an enumeration of all the available options
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
setMaxStale
public void setMaxStale(int stale)
Sets the number of non improving decision tables to consider
before abandoning the search.
- Parameters:
stale
- the number of nodes
getMaxStale
public int getMaxStale()
Gets the number of non improving decision tables
- Returns:
- the number of non improving decision tables
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
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
setOptions
public void setOptions(java.lang.String options[]) throws java.lang.Exception
Parses the options for this object.
Valid options are:
-S num
Number of fully expanded non improving subsets to consider
before terminating a best first search.
(Default = 5)
-X num
Use cross validation to evaluate features. Use number of folds = 1 for
leave one out CV. (Default = leave one out CV)
-I
Use nearest neighbour instead of global table majority.
-R
Prints the decision table.
- Parameters:
options
- the list of options as an array of strings
- Throws:
- java.lang.Exception - if an option is not supported
getOptions
public java.lang.String[] getOptions()
Gets the current settings of the classifier.
- Returns:
- an array of strings suitable for passing to setOptions
buildClassifier
public void buildClassifier(Instances data) throws java.lang.Exception
Generates the classifier.
- Parameters:
data
- set of instances serving as training data
- Throws:
- java.lang.Exception - if the classifier has not been generated successfully
- Overrides:
- buildClassifier in class Classifier
distributionForInstance
public double[] distributionForInstance(Instance instance) throws java.lang.Exception
Calculates the class membership probabilities for the given
test instance.
- Parameters:
instance
- the instance to be classified
- Returns:
- predicted class probability distribution
- Throws:
- java.lang.Exception - if distribution can't be computed
- Overrides:
- distributionForInstance in class DistributionClassifier
printFeatures
public java.lang.String 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
public java.util.Enumeration enumerateMeasures()
Returns an enumeration of the additional measure names
- Returns:
- an enumeration of the measure names
getMeasure
public double getMeasure(java.lang.String additionalMeasureName)
Returns the value of the named measure
- Parameters:
measureName
- the name of the measure to query for its value
- Returns:
- the value of the named measure
- Throws:
- java.lang.IllegalArgumentException - if the named measure is not supported
toString
public java.lang.String toString()
Returns a description of the classifier.
- Returns:
- a description of the classifier as a string.
- Overrides:
- toString in class java.lang.Object
main
public static void main(java.lang.String argv[])
Main method for testing this class.
- Parameters:
argv
- the command-line options
All Packages Class Hierarchy This Package Previous Next Index WEKA's home