Overview | Package | Class | Tree | Deprecated | Index | Help | Weka's home
PREV CLASS NEXT CLASS | FRAMES NO FRAMES
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD

## weka.classifiers.rules
Class DecisionTable

    java.lang.Object
      weka.classifiers.AbstractClassifier
          weka.classifiers.rules.DecisionTable

All Implemented Interfaces:
  java.io.Serializable, java.lang.Cloneable, Classifier, AdditionalMeasureProducer, CapabilitiesHandler, OptionHandler, RevisionHandler, TechnicalInformationHandler, WeightedInstancesHandler

Direct Known Subclasses:
  DTNB

    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:

     @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: 5987 $
Author:
  Mark Hall (mhall@cs.waikato.ac.nz)
See Also:
  Serialized Form

Field Summary
`static int` | `EVAL_ACCURACY`
`static int` | `EVAL_AUC`
`static int` | `EVAL_DEFAULT` default is accuracy for discrete class and RMSE for numeric class
`static int` | `EVAL_MAE`
`static int` | `EVAL_RMSE`
`static Tag[]` | `TAGS_EVALUATION`

Constructor Summary
`DecisionTable()` Constructor for a DecisionTable

Method Summary
`void` | `buildClassifier(Instances data)` Generates the classifier.
`java.lang.String` | `crossValTipText()` Returns the tip text for this property
`java.lang.String` | `displayRulesTipText()` Returns the tip text for this property
`double[]` | `distributionForInstance(Instance instance)` Calculates the class membership probabilities for the given test instance.
`java.util.Enumeration` | `enumerateMeasures()` Returns an enumeration of the additional measure names
`java.lang.String` | `evaluationMeasureTipText()` Returns the tip text for this property
`Capabilities` | `getCapabilities()` Returns default capabilities of the classifier.
`int` | `getCrossVal()` Gets the number of folds for cross validation
`boolean` | `getDisplayRules()` Gets whether rules are being printed
`SelectedTag` | `getEvaluationMeasure()` Gets the currently set performance evaluation measure used for selecting attributes for the decision table
`double` | `getMeasure(java.lang.String additionalMeasureName)` Returns the value of the named measure
`java.lang.String[]` | `getOptions()` Gets the current settings of the classifier.
`java.lang.String` | `getRevision()` Returns the revision string.
`ASSearch` | `getSearch()` Gets the current search method
`TechnicalInformation` | `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.
`boolean` | `getUseIBk()` Gets whether IBk is being used instead of the majority class
`java.lang.String` | `globalInfo()` Returns a string describing classifier
`java.util.Enumeration` | `listOptions()` Returns an enumeration describing the available options.
`static void` | `main(java.lang.String[] argv)` Main method for testing this class.
`double` | `measureNumRules()` Returns the number of rules
`java.lang.String` | `printFeatures()` Returns a string description of the features selected
`java.lang.String` | `searchTipText()` Returns the tip text for this property
`void` | `setCrossVal(int folds)` Sets the number of folds for cross validation (1 = leave one out)
`void` | `setDisplayRules(boolean rules)` Sets whether rules are to be printed
`void` | `setEvaluationMeasure(SelectedTag newMethod)` Sets the performance evaluation measure to use for selecting attributes for the decision table
`void` | `setOptions(java.lang.String[] options)` Parses the options for this object.
`void` | `setSearch(ASSearch search)` Sets the search method to use
`void` | `setUseIBk(boolean ibk)` Sets whether IBk should be used instead of the majority class
`java.lang.String` | `toString()` Returns a description of the classifier.
`java.lang.String` | `useIBkTipText()` Returns the tip text for this property

Methods inherited from class weka.classifiers.AbstractClassifier
`classifyInstance, debugTipText, forName, getDebug, makeCopies, makeCopy, setDebug`

Methods inherited from class java.lang.Object
`equals, getClass, hashCode, notify, notifyAll, wait, wait, wait`

Field Detail

### EVAL_DEFAULT

    public static final int EVAL_DEFAULT

  default is accuracy for discrete class and RMSE for numeric class

  See Also:
    Constant Field Values

### EVAL_ACCURACY

    public static final int EVAL_ACCURACY

See Also:
  Constant Field Values

### EVAL_RMSE

    public static final int EVAL_RMSE

See Also:
  Constant Field Values

### EVAL_MAE

    public static final int EVAL_MAE

See Also:
  Constant Field Values

### EVAL_AUC

    public static final int EVAL_AUC

See Also:
  Constant Field Values

### TAGS_EVALUATION

    public static final Tag[] TAGS_EVALUATION

Constructor Detail

### DecisionTable

    public DecisionTable()

  Constructor for a DecisionTable

Method Detail

### globalInfo

    public java.lang.String globalInfo()

  Returns a string describing classifier

  Returns:
    a description suitable for displaying in the explorer/experimenter gui

### getTechnicalInformation

    public TechnicalInformation 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:
    `getTechnicalInformation` in interface `TechnicalInformationHandler`
  Returns:
    the technical information about this class

### listOptions

    public java.util.Enumeration listOptions()

  Returns an enumeration describing the available options.

  Specified by:
    `listOptions` in interface `OptionHandler`
  Overrides:
    `listOptions` in class `AbstractClassifier`
  Returns:
    an enumeration of all the available options.

### crossValTipText

    public java.lang.String 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

    public java.lang.String 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

    public java.lang.String 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

    public java.lang.String searchTipText()

  Returns the tip text for this property

  Returns:
    tip text for this property suitable for displaying in the explorer/experimenter gui

### setSearch

    public void setSearch(ASSearch search)

  Sets the search method to use

  Parameters:
    `search` -

### getSearch

    public ASSearch getSearch()

  Gets the current search method

  Returns:
    the search method used

### evaluationMeasureTipText

    public java.lang.String evaluationMeasureTipText()

  Returns the tip text for this property

  Returns:
    tip text for this property suitable for displaying in the explorer/experimenter gui

### getEvaluationMeasure

    public SelectedTag getEvaluationMeasure()

  Gets the currently set performance evaluation measure used for selecting attributes for the decision table

  Returns:
    the performance evaluation measure

### setEvaluationMeasure

    public void setEvaluationMeasure(SelectedTag newMethod)

  Sets the performance evaluation measure to use for selecting attributes for the decision table

  Parameters:
    `newMethod` - the new performance evaluation metric to use

### setOptions

    public void setOptions(java.lang.String[] options)
                    throws java.lang.Exception

  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:
    `setOptions` in interface `OptionHandler`
  Overrides:
    `setOptions` in class `AbstractClassifier`
  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.

  Specified by:
    `getOptions` in interface `OptionHandler`
  Overrides:
    `getOptions` in class `AbstractClassifier`
  Returns:
    an array of strings suitable for passing to setOptions

### getCapabilities

    public Capabilities getCapabilities()

  Returns default capabilities of the classifier.

  Specified by:
    `getCapabilities` in interface `Classifier`
  Specified by:
    `getCapabilities` in interface `CapabilitiesHandler`
  Overrides:
    `getCapabilities` in class `AbstractClassifier`
  Returns:
    the capabilities of this classifier
  See Also:
    `Capabilities`

### buildClassifier

    public void buildClassifier(Instances data)
                         throws java.lang.Exception

  Generates the classifier.

  Specified by:
    `buildClassifier` in interface `Classifier`
  Parameters:
    `data` - set of instances serving as training data
  Throws:
    `java.lang.Exception` - if the classifier has not been generated successfully

### distributionForInstance

    public double[] distributionForInstance(Instance instance)
                                     throws java.lang.Exception

  Calculates the class membership probabilities for the given test instance.

  Specified by:
    `distributionForInstance` in interface `Classifier`
  Overrides:
    `distributionForInstance` in class `AbstractClassifier`
  Parameters:
    `instance` - the instance to be classified
  Returns:
    predicted class probability distribution
  Throws:
    `java.lang.Exception` - if distribution can't be computed

### 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

  Specified by:
    `enumerateMeasures` in interface `AdditionalMeasureProducer`
  Returns:
    an enumeration of the measure names

### getMeasure

    public double getMeasure(java.lang.String additionalMeasureName)

  Returns the value of the named measure

  Specified by:
    `getMeasure` in interface `AdditionalMeasureProducer`
  Parameters:
    `additionalMeasureName` - 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.

  Overrides:
    `toString` in class `java.lang.Object`
  Returns:
    a description of the classifier as a string.

### getRevision

    public java.lang.String getRevision()

  Returns the revision string.

  Specified by:
    `getRevision` in interface `RevisionHandler`
  Overrides:
    `getRevision` in class `AbstractClassifier`
  Returns:
    the revision

### main

    public static void main(java.lang.String[] argv)

  Main method for testing this class.

  Parameters:
    `argv` - the command-line options

Overview | Package | Class | Tree | Deprecated | Index | Help | Weka's home
PREV CLASS NEXT CLASS | FRAMES NO FRAMES
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD