Package weka.classifiers.rules

# Class PART

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

All Implemented Interfaces:
  `Serializable`, `Cloneable`, `AdditionalMeasureProducer`, `CapabilitiesHandler`, `OptionHandler`, `RevisionHandler`, `Summarizable`, `TechnicalInformationHandler`, `WeightedInstancesHandler`

public class PART extends Classifier 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.

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

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

## 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.
`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(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.
`String`
`globalInfo()`
Returns a string describing classifier
`Enumeration`
`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`
`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.
`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

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

### buildClassifier

public void buildClassifier(Instances instances) throws Exception
Generates the classifier.

Specified by:
  `buildClassifier` in class `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.

Overrides:
  `classifyInstance` in class `Classifier`
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.

Overrides:
  `distributionForInstance` in class `Classifier`
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 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 `Classifier`
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.

     -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:
  `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 `Classifier`
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 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.

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

### getRevision

public 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(String[] argv)
Main method for testing this class.

Parameters:
  `argv` - command line options