Package weka.classifiers.rules

# Class PART

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

All Implemented Interfaces:
  `Serializable`, `Cloneable`, `Classifier`, `AdditionalMeasureProducer`, `BatchPredictor`, `CapabilitiesHandler`, `CapabilitiesIgnorer`, `CommandlineRunnable`, `OptionHandler`, `RevisionHandler`, `Summarizable`, `TechnicalInformationHandler`, `WeightedInstancesHandler`

public class PART extends AbstractClassifier implements OptionHandler, WeightedInstancesHandler, Summarizable, AdditionalMeasureProducer, TechnicalInformationHandler
Class for generating a PART decision list. Uses separate-and-conquer. Builds a partial C4.5 decision tree in each iteration and makes the "best" leaf into a rule.
For more information, see:
Eibe Frank, Ian H. Witten: Generating Accurate Rule Sets Without Global Optimization. In: Fifteenth International Conference on Machine Learning, 144-151, 1998.

BibTeX:

     @inproceedings{Frank1998,
        author = {Eibe Frank and Ian H. Witten},
        booktitle = {Fifteenth International Conference on Machine Learning},
        editor = {J. Shavlik},
        pages = {144-151},
        publisher = {Morgan Kaufmann},
        title = {Generating Accurate Rule Sets Without Global Optimization},
        year = {1998},
        PS = {http://www.cs.waikato.ac.nz/\~eibe/pubs/ML98-57.ps.gz}
     }

Valid options are:

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

     -M <minimum number of objects>
      Set minimum number of objects 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.

     -U
      Generate unpruned decision list.

     -J
      Do not use MDL correction for info gain on numeric attributes.

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

     -doNotMakeSplitPointActualValue
      Do not make split point actual value.

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

- ## Field Summary

  ### Fields inherited from class weka.classifiers.AbstractClassifier

  `BATCH_SIZE_DEFAULT, NUM_DECIMAL_PLACES_DEFAULT`

- ## Constructor Summary

  Constructors
  Constructor
  Description
  `PART()`

- ## Method Summary

  Modifier and Type
  Method
  Description
  `String`
  `binarySplitsTipText()`
  Returns the tip text for this property
  `void`
  `buildClassifier(Instances instances)`
  Generates the classifier.
  `double`
  `classifyInstance(Instance instance)`
  Classifies an instance.
  `String`
  `confidenceFactorTipText()`
  Returns the tip text for this property
  `final double[]`
  `distributionForInstance(Instance instance)`
  Returns class probabilities for an instance.
  `String`
  `doNotMakeSplitPointActualValueTipText()`
  Returns the tip text for this property
  `Enumeration<String>`
  `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.
  `boolean`
  `getDoNotMakeSplitPointActualValue()`
  Gets the value of doNotMakeSplitPointActualValue.
  `double`
  `getMeasure(String additionalMeasureName)`
  Returns the value of the named measure
  `int`
  `getMinNumObj()`
  Get the value of minNumObj.
  `int`
  `getNumFolds()`
  Get the value of numFolds.
  `String[]`
  `getOptions()`
  Gets the current settings of the Classifier.
  `boolean`
  `getReducedErrorPruning()`
  Get the value of reducedErrorPruning.
  `String`
  `getRevision()`
  Returns the revision string.
  `int`
  `getSeed()`
  Get the value of Seed.
  `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`
  `getUseMDLcorrection()`
  Get the value of useMDLcorrection.
  `String`
  `globalInfo()`
  Returns a string describing classifier
  `Enumeration<Option>`
  `listOptions()`
  Returns an enumeration describing the available options.
  `static void`
  `main(String[] argv)`
  Main method for testing this class.
  `double`
  `measureNumRules()`
  Return the number of rules.
  `String`
  `minNumObjTipText()`
  Returns the tip text for this property
  `String`
  `numFoldsTipText()`
  Returns the tip text for this property
  `String`
  `reducedErrorPruningTipText()`
  Returns the tip text for this property
  `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`
  `setDoNotMakeSplitPointActualValue(boolean m_doNotMakeSplitPointActualValue)`
  Sets the value of doNotMakeSplitPointActualValue.
  `void`
  `setMinNumObj(int v)`
  Set the value of minNumObj.
  `void`
  `setNumFolds(int v)`
  Set the value of numFolds.
  `void`
  `setOptions(String[] options)`
  Parses a given list of options.
  `void`
  `setReducedErrorPruning(boolean v)`
  Set the value of reducedErrorPruning.
  `void`
  `setSeed(int newSeed)`
  Set the value of Seed.
  `void`
  `setUnpruned(boolean newunpruned)`
  Set the value of unpruned.
  `void`
  `setUseMDLcorrection(boolean newuseMDLcorrection)`
  Set the value of useMDLcorrection.
  `String`
  `toString()`
  Returns a description of the classifier
  `String`
  `toSummaryString()`
  Returns a superconcise version of the model
  `String`
  `unprunedTipText()`
  Returns the tip text for this property
  `String`
  `useMDLcorrectionTipText()`
  Returns the tip text for this property

  ### Methods inherited from class weka.classifiers.AbstractClassifier

  `batchSizeTipText, debugTipText, distributionsForInstances, doNotCheckCapabilitiesTipText, forName, getBatchSize, getDebug, getDoNotCheckCapabilities, getNumDecimalPlaces, implementsMoreEfficientBatchPrediction, makeCopies, makeCopy, numDecimalPlacesTipText, postExecution, preExecution, run, runClassifier, setBatchSize, setDebug, setDoNotCheckCapabilities, setNumDecimalPlaces`

  ### Methods inherited from class java.lang.Object

  `equals, getClass, hashCode, notify, notifyAll, wait, wait, wait`

- ## Constructor Details

  - ### PART

    public PART()

- ## Method Details

  - ### globalInfo

    public 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`
    Specified by:
      `getCapabilities` in interface `Classifier`
    Overrides:
      `getCapabilities` in class `AbstractClassifier`
    Returns:
      the capabilities of this classifier
    See Also:
      - `Capabilities`

  - ### buildClassifier

    public void buildClassifier(Instances instances) throws Exception
    Generates the classifier.
    Specified by:
      `buildClassifier` in interface `Classifier`
    Parameters:
      `instances` - the data to train with
    Throws:
      `Exception` - if classifier can't be built successfully

  - ### classifyInstance

    public double classifyInstance(Instance instance) throws Exception
    Classifies an instance.
    Specified by:
      `classifyInstance` in interface `Classifier`
    Overrides:
      `classifyInstance` in class `AbstractClassifier`
    Parameters:
      `instance` - the instance to classify
    Returns:
      the classification
    Throws:
      `Exception` - if instance can't be classified successfully

  - ### distributionForInstance

    public final double[] distributionForInstance(Instance instance) throws Exception
    Returns class probabilities for an instance.
    Specified by:
      `distributionForInstance` in interface `Classifier`
    Overrides:
      `distributionForInstance` in class `AbstractClassifier`
    Parameters:
      `instance` - the instance to get the distribution for
    Returns:
      the class probabilities
    Throws:
      `Exception` - if the distribution can't be computed successfully

  - ### listOptions

    public Enumeration<Option> listOptions()
    Returns an enumeration describing the available options. Valid options are:

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

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

    -U
    Generate unpruned decision list.

    -Q
    The seed for reduced-error pruning.

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

  - ### setOptions

    public void setOptions(String[] options) throws Exception
    Parses a given list of options.

    Valid options are:

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

         -M <minimum number of objects>
          Set minimum number of objects 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.

         -U
          Generate unpruned decision list.

         -J
          Do not use MDL correction for info gain on numeric attributes.

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

         -doNotMakeSplitPointActualValue
          Do not make split point actual value.

    Specified by:
      `setOptions` in interface `OptionHandler`
    Overrides:
      `setOptions` in class `AbstractClassifier`
    Parameters:
      `options` - the list of options as an array of strings
    Throws:
      `Exception` - if an option is not supported

  - ### getOptions

    public 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

  - ### toString

    public String toString()
    Returns a description of the classifier
    Overrides:
      `toString` in class `Object`
    Returns:
      a string representation of the classifier

  - ### toSummaryString

    public String toSummaryString()
    Returns a superconcise version of the model
    Specified by:
      `toSummaryString` in interface `Summarizable`
    Returns:
      a concise version of the model

  - ### measureNumRules

    public double measureNumRules()
    Return the number of rules.
    Returns:
      the number of rules

  - ### enumerateMeasures

    public Enumeration<String> 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(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:
      `IllegalArgumentException` - if the named measure is not supported

  - ### confidenceFactorTipText

    public 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 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 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.
    Parameters:
      `v` - Value to assign to reducedErrorPruning.

  - ### unprunedTipText

    public 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 newunpruned)
    Set the value of unpruned.
    Parameters:
      `newunpruned` - Value to assign to unpruned.

  - ### useMDLcorrectionTipText

    public String useMDLcorrectionTipText()
    Returns the tip text for this property
    Returns:
      tip text for this property suitable for displaying in the explorer/experimenter gui

  - ### getUseMDLcorrection

    public boolean getUseMDLcorrection()
    Get the value of useMDLcorrection.
    Returns:
      Value of useMDLcorrection.

  - ### setUseMDLcorrection

    public void setUseMDLcorrection(boolean newuseMDLcorrection)
    Set the value of useMDLcorrection.
    Parameters:
      `newuseMDLcorrection` - Value to assign to useMDLcorrection.

  - ### numFoldsTipText

    public 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.

  - ### seedTipText

    public 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.

  - ### binarySplitsTipText

    public 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.

  - ### doNotMakeSplitPointActualValueTipText

    public String doNotMakeSplitPointActualValueTipText()
    Returns the tip text for this property
    Returns:
      tip text for this property suitable for displaying in the explorer/experimenter gui

  - ### getDoNotMakeSplitPointActualValue

    public boolean getDoNotMakeSplitPointActualValue()
    Gets the value of doNotMakeSplitPointActualValue.
    Returns:
      the value

  - ### setDoNotMakeSplitPointActualValue

    public void setDoNotMakeSplitPointActualValue(boolean m_doNotMakeSplitPointActualValue)
    Sets the value of doNotMakeSplitPointActualValue.
    Parameters:
      `m_doNotMakeSplitPointActualValue` - the value to set

  - ### getRevision

    public 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(String[] argv)
    Main method for testing this class.
    Parameters:
      `argv` - command line options