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.trees
Class J48

    java.lang.Object
      weka.classifiers.Classifier
          weka.classifiers.trees.J48

All Implemented Interfaces:
  java.io.Serializable, java.lang.Cloneable, Sourcable, AdditionalMeasureProducer, CapabilitiesHandler, Drawable, Matchable, OptionHandler, RevisionHandler, Summarizable, TechnicalInformationHandler, WeightedInstancesHandler

    public class J48

extends Classifier
implements OptionHandler, Drawable, Matchable, Sourcable, WeightedInstancesHandler, Summarizable, AdditionalMeasureProducer, TechnicalInformationHandler

Class for generating a pruned or unpruned C4.5 decision tree. For more information, see
Ross Quinlan (1993). C4.5: Programs for Machine Learning. Morgan Kaufmann Publishers, San Mateo, CA.

BibTeX:

     @book{Quinlan1993,
        address = {San Mateo, CA},
        author = {Ross Quinlan},
        publisher = {Morgan Kaufmann Publishers},
        title = {C4.5: Programs for Machine Learning},
        year = {1993}
     }

Valid options are:

     -U
      Use unpruned tree.

     -C <pruning confidence>
      Set confidence threshold for pruning.
      (default 0.25)

     -M <minimum number of instances>
      Set minimum number of instances per leaf.
      (default 2)

     -R
      Use reduced error pruning.

     -N <number of folds>
      Set number of folds for reduced error
      pruning. One fold is used as pruning set.
      (default 3)

     -B
      Use binary splits only.

     -S
      Don't perform subtree raising.

     -L
      Do not clean up after the tree has been built.

     -A
      Laplace smoothing for predicted probabilities.

     -Q <seed>
      Seed for random data shuffling (default 1).

Version:
  $Revision: 1.9 $
Author:
  Eibe Frank (eibe@cs.waikato.ac.nz)
See Also:
  Serialized Form

Field Summary

Fields inherited from interface weka.core.Drawable
`BayesNet, Newick, NOT_DRAWABLE, TREE`

Constructor Summary
`J48()`

Method Summary
`java.lang.String` | `binarySplitsTipText()` Returns the tip text for this property
`void` | `buildClassifier(Instances instances)` Generates the classifier.
`double` | `classifyInstance(Instance instance)` Classifies an instance.
`java.lang.String` | `confidenceFactorTipText()` Returns the tip text for this property
`double[]` | `distributionForInstance(Instance instance)` Returns class probabilities for an instance.
`java.util.Enumeration` | `enumerateMeasures()` Returns an enumeration of the additional measure names
`boolean` | `getBinarySplits()` Get the value of binarySplits.
`Capabilities` | `getCapabilities()` Returns default capabilities of the classifier.
`float` | `getConfidenceFactor()` Get the value of CF.
`double` | `getMeasure(java.lang.String additionalMeasureName)` Returns the value of the named measure
`int` | `getMinNumObj()` Get the value of minNumObj.
`int` | `getNumFolds()` Get the value of numFolds.
`java.lang.String[]` | `getOptions()` Gets the current settings of the Classifier.
`boolean` | `getReducedErrorPruning()` Get the value of reducedErrorPruning.
`java.lang.String` | `getRevision()` Returns the revision string.
`boolean` | `getSaveInstanceData()` Check whether instance data is to be saved.
`int` | `getSeed()` Get the value of Seed.
`boolean` | `getSubtreeRaising()` Get the value of subtreeRaising.
`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` | `getUnpruned()` Get the value of unpruned.
`boolean` | `getUseLaplace()` Get the value of useLaplace.
`java.lang.String` | `globalInfo()` Returns a string describing classifier
`java.lang.String` | `graph()` Returns graph describing the tree.
`int` | `graphType()` Returns the type of graph this classifier represents.
`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` | `measureNumLeaves()` Returns the number of leaves
`double` | `measureNumRules()` Returns the number of rules (same as number of leaves)
`double` | `measureTreeSize()` Returns the size of the tree
`java.lang.String` | `minNumObjTipText()` Returns the tip text for this property
`java.lang.String` | `numFoldsTipText()` Returns the tip text for this property
`java.lang.String` | `prefix()` Returns tree in prefix order.
`java.lang.String` | `reducedErrorPruningTipText()` Returns the tip text for this property
`java.lang.String` | `saveInstanceDataTipText()` Returns the tip text for this property
`java.lang.String` | `seedTipText()` Returns the tip text for this property
`void` | `setBinarySplits(boolean v)` Set the value of binarySplits.
`void` | `setConfidenceFactor(float v)` Set the value of CF.
`void` | `setMinNumObj(int v)` Set the value of minNumObj.
`void` | `setNumFolds(int v)` Set the value of numFolds.
`void` | `setOptions(java.lang.String[] options)` Parses a given list of options.
`void` | `setReducedErrorPruning(boolean v)` Set the value of reducedErrorPruning.
`void` | `setSaveInstanceData(boolean v)` Set whether instance data is to be saved.
`void` | `setSeed(int newSeed)` Set the value of Seed.
`void` | `setSubtreeRaising(boolean v)` Set the value of subtreeRaising.
`void` | `setUnpruned(boolean v)` Set the value of unpruned.
`void` | `setUseLaplace(boolean newuseLaplace)` Set the value of useLaplace.
`java.lang.String` | `subtreeRaisingTipText()` Returns the tip text for this property
`java.lang.String` | `toSource(java.lang.String className)` Returns tree as an if-then statement.
`java.lang.String` | `toString()` Returns a description of the classifier.
`java.lang.String` | `toSummaryString()` Returns a superconcise version of the model
`java.lang.String` | `unprunedTipText()` Returns the tip text for this property
`java.lang.String` | `useLaplaceTipText()` Returns the tip text for this property

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

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

Constructor Detail

### J48

    public J48()

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

### getCapabilities

    public Capabilities getCapabilities()

  Returns default capabilities of the classifier.

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

### buildClassifier

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

  Generates the classifier.

  Specified by:
    `buildClassifier` in class `Classifier`
  Parameters:
    `instances` - the data to train the classifier with
  Throws:
    `java.lang.Exception` - if classifier can't be built successfully

### classifyInstance

    public double classifyInstance(Instance instance)
                            throws java.lang.Exception

  Classifies an instance.

  Overrides:
    `classifyInstance` in class `Classifier`
  Parameters:
    `instance` - the instance to classify
  Returns:
    the classification for the instance
  Throws:
    `java.lang.Exception` - if instance can't be classified successfully

### distributionForInstance

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

  Returns class probabilities for an instance.

  Overrides:
    `distributionForInstance` in class `Classifier`
  Parameters:
    `instance` - the instance to calculate the class probabilities for
  Returns:
    the class probabilities
  Throws:
    `java.lang.Exception` - if distribution can't be computed successfully

### graphType

    public int graphType()

  Returns the type of graph this classifier represents.

  Specified by:
    `graphType` in interface `Drawable`
  Returns:
    Drawable.TREE

### graph

    public java.lang.String graph()
                           throws java.lang.Exception

  Returns graph describing the tree.

  Specified by:
    `graph` in interface `Drawable`
  Returns:
    the graph describing the tree
  Throws:
    `java.lang.Exception` - if graph can't be computed

### prefix

    public java.lang.String prefix()
                            throws java.lang.Exception

  Returns tree in prefix order.

  Specified by:
    `prefix` in interface `Matchable`
  Returns:
    the tree in prefix order
  Throws:
    `java.lang.Exception` - if something goes wrong

### toSource

    public java.lang.String toSource(java.lang.String className)
                              throws java.lang.Exception

  Returns tree as an if-then statement.

  Specified by:
    `toSource` in interface `Sourcable`
  Parameters:
    `className` - the name of the Java class
  Returns:
    the tree as a Java if-then type statement
  Throws:
    `java.lang.Exception` - if something goes wrong

### listOptions

    public java.util.Enumeration listOptions()

  Returns an enumeration describing the available options. Valid options are:

  -U
  Use unpruned tree.

  -C confidence
  Set confidence threshold for pruning. (Default: 0.25)

  -M number
  Set minimum number of instances per leaf. (Default: 2)

  -R
  Use reduced error pruning. No subtree raising is performed.

  -N number
  Set number of folds for reduced error pruning. One fold is used as the pruning set. (Default: 3)

  -B
  Use binary splits for nominal attributes.

  -S
  Don't perform subtree raising.

  -L
  Do not clean up after the tree has been built. -A
  If set, Laplace smoothing is used for predicted probabilites.

  -Q
  The seed for reduced-error pruning.

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

### setOptions

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

  Parses a given list of options. Valid options are:

       -U
        Use unpruned tree.

       -C <pruning confidence>
        Set confidence threshold for pruning.
        (default 0.25)

       -M <minimum number of instances>
        Set minimum number of instances per leaf.
        (default 2)

       -R
        Use reduced error pruning.

       -N <number of folds>
        Set number of folds for reduced error
        pruning. One fold is used as pruning set.
        (default 3)

       -B
        Use binary splits only.

       -S
        Don't perform subtree raising.

       -L
        Do not clean up after the tree has been built.

       -A
        Laplace smoothing for predicted probabilities.

       -Q <seed>
        Seed for random data shuffling (default 1).

  Specified by:
    `setOptions` in interface `OptionHandler`
  Overrides:
    `setOptions` in class `Classifier`
  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 `Classifier`
  Returns:
    an array of strings suitable for passing to setOptions

### seedTipText

    public java.lang.String seedTipText()

  Returns the tip text for this property

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

### getSeed

    public int getSeed()

  Get the value of Seed.

  Returns:
    Value of Seed.

### setSeed

    public void setSeed(int newSeed)

  Set the value of Seed.

  Parameters:
    `newSeed` - Value to assign to Seed.

### useLaplaceTipText

    public java.lang.String useLaplaceTipText()

  Returns the tip text for this property

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

### getUseLaplace

    public boolean getUseLaplace()

  Get the value of useLaplace.

  Returns:
    Value of useLaplace.

### setUseLaplace

    public void setUseLaplace(boolean newuseLaplace)

  Set the value of useLaplace.

  Parameters:
    `newuseLaplace` - Value to assign to useLaplace.

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

### toSummaryString

    public java.lang.String toSummaryString()

  Returns a superconcise version of the model

  Specified by:
    `toSummaryString` in interface `Summarizable`
  Returns:
    a summary of the model

### measureTreeSize

    public double measureTreeSize()

  Returns the size of the tree

  Returns:
    the size of the tree

### measureNumLeaves

    public double measureNumLeaves()

  Returns the number of leaves

  Returns:
    the number of leaves

### measureNumRules

    public double measureNumRules()

  Returns the number of rules (same as number of leaves)

  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

### unprunedTipText

    public java.lang.String unprunedTipText()

  Returns the tip text for this property

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

### getUnpruned

    public boolean getUnpruned()

  Get the value of unpruned.

  Returns:
    Value of unpruned.

### setUnpruned

    public void setUnpruned(boolean v)

  Set the value of unpruned. Turns reduced-error pruning off if set.

  Parameters:
    `v` - Value to assign to unpruned.

### confidenceFactorTipText

    public java.lang.String confidenceFactorTipText()

  Returns the tip text for this property

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

### getConfidenceFactor

    public float getConfidenceFactor()

  Get the value of CF.

  Returns:
    Value of CF.

### setConfidenceFactor

    public void setConfidenceFactor(float v)

  Set the value of CF.

  Parameters:
    `v` - Value to assign to CF.

### minNumObjTipText

    public java.lang.String minNumObjTipText()

  Returns the tip text for this property

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

### getMinNumObj

    public int getMinNumObj()

  Get the value of minNumObj.

  Returns:
    Value of minNumObj.

### setMinNumObj

    public void setMinNumObj(int v)

  Set the value of minNumObj.

  Parameters:
    `v` - Value to assign to minNumObj.

### reducedErrorPruningTipText

    public java.lang.String reducedErrorPruningTipText()

  Returns the tip text for this property

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

### getReducedErrorPruning

    public boolean getReducedErrorPruning()

  Get the value of reducedErrorPruning.

  Returns:
    Value of reducedErrorPruning.

### setReducedErrorPruning

    public void setReducedErrorPruning(boolean v)

  Set the value of reducedErrorPruning. Turns unpruned trees off if set.

  Parameters:
    `v` - Value to assign to reducedErrorPruning.

### numFoldsTipText

    public java.lang.String numFoldsTipText()

  Returns the tip text for this property

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

### getNumFolds

    public int getNumFolds()

  Get the value of numFolds.

  Returns:
    Value of numFolds.

### setNumFolds

    public void setNumFolds(int v)

  Set the value of numFolds.

  Parameters:
    `v` - Value to assign to numFolds.

### binarySplitsTipText

    public java.lang.String binarySplitsTipText()

  Returns the tip text for this property

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

### getBinarySplits

    public boolean getBinarySplits()

  Get the value of binarySplits.

  Returns:
    Value of binarySplits.

### setBinarySplits

    public void setBinarySplits(boolean v)

  Set the value of binarySplits.

  Parameters:
    `v` - Value to assign to binarySplits.

### subtreeRaisingTipText

    public java.lang.String subtreeRaisingTipText()

  Returns the tip text for this property

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

### getSubtreeRaising

    public boolean getSubtreeRaising()

  Get the value of subtreeRaising.

  Returns:
    Value of subtreeRaising.

### setSubtreeRaising

    public void setSubtreeRaising(boolean v)

  Set the value of subtreeRaising.

  Parameters:
    `v` - Value to assign to subtreeRaising.

### saveInstanceDataTipText

    public java.lang.String saveInstanceDataTipText()

  Returns the tip text for this property

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

### getSaveInstanceData

    public boolean getSaveInstanceData()

  Check whether instance data is to be saved.

  Returns:
    true if instance data is saved

### setSaveInstanceData

    public void setSaveInstanceData(boolean v)

  Set whether instance data is to be saved.

  Parameters:
    `v` - true if instance data is to be saved

### getRevision

    public java.lang.String getRevision()

  Returns the revision string.

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

### main

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

  Main method for testing this class

  Parameters:
    `argv` - the commandline 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