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:
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: 15232 $
- Author:
- Eibe Frank (eibe@cs.waikato.ac.nz)
- See Also:
-
Field Summary
Fields inherited from class weka.classifiers.AbstractClassifier
BATCH_SIZE_DEFAULT, NUM_DECIMAL_PLACES_DEFAULT
-
Constructor Summary
-
Method Summary
Modifier and TypeMethodDescriptionReturns the tip text for this propertyvoid
buildClassifier
(Instances instances) Generates the classifier.double
classifyInstance
(Instance instance) Classifies an instance.Returns the tip text for this propertyfinal double[]
distributionForInstance
(Instance instance) Returns class probabilities for an instance.Returns the tip text for this propertyReturns an enumeration of the additional measure namesboolean
Get the value of binarySplits.Returns default capabilities of the classifier.float
Get the value of CF.boolean
Gets the value of doNotMakeSplitPointActualValue.double
getMeasure
(String additionalMeasureName) Returns the value of the named measureint
Get the value of minNumObj.int
Get the value of numFolds.String[]
Gets the current settings of the Classifier.boolean
Get the value of reducedErrorPruning.Returns the revision string.int
getSeed()
Get the value of Seed.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
Get the value of unpruned.boolean
Get the value of useMDLcorrection.Returns a string describing classifierReturns an enumeration describing the available options.static void
Main method for testing this class.double
Return the number of rules.Returns the tip text for this propertyReturns the tip text for this propertyReturns the tip text for this propertyReturns the tip text for this propertyvoid
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.toString()
Returns a description of the classifierReturns a superconcise version of the modelReturns the tip text for this propertyReturns the tip text for this propertyMethods 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
-
Constructor Details
-
PART
public PART()
-
-
Method Details
-
globalInfo
Returns a string describing classifier- Returns:
- a description suitable for displaying in the explorer/experimenter gui
-
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 interfaceTechnicalInformationHandler
- Returns:
- the technical information about this class
-
getCapabilities
Returns default capabilities of the classifier.- Specified by:
getCapabilities
in interfaceCapabilitiesHandler
- Specified by:
getCapabilities
in interfaceClassifier
- Overrides:
getCapabilities
in classAbstractClassifier
- Returns:
- the capabilities of this classifier
- See Also:
-
buildClassifier
Generates the classifier.- Specified by:
buildClassifier
in interfaceClassifier
- Parameters:
instances
- the data to train with- Throws:
Exception
- if classifier can't be built successfully
-
classifyInstance
Classifies an instance.- Specified by:
classifyInstance
in interfaceClassifier
- Overrides:
classifyInstance
in classAbstractClassifier
- Parameters:
instance
- the instance to classify- Returns:
- the classification
- Throws:
Exception
- if instance can't be classified successfully
-
distributionForInstance
Returns class probabilities for an instance.- Specified by:
distributionForInstance
in interfaceClassifier
- Overrides:
distributionForInstance
in classAbstractClassifier
- Parameters:
instance
- the instance to get the distribution for- Returns:
- the class probabilities
- Throws:
Exception
- if the distribution can't be computed successfully
-
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 interfaceOptionHandler
- Overrides:
listOptions
in classAbstractClassifier
- Returns:
- an enumeration of all the available options.
-
setOptions
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 interfaceOptionHandler
- Overrides:
setOptions
in classAbstractClassifier
- Parameters:
options
- the list of options as an array of strings- Throws:
Exception
- if an option is not supported
-
getOptions
Gets the current settings of the Classifier.- Specified by:
getOptions
in interfaceOptionHandler
- Overrides:
getOptions
in classAbstractClassifier
- Returns:
- an array of strings suitable for passing to setOptions
-
toString
Returns a description of the classifier -
toSummaryString
Returns a superconcise version of the model- Specified by:
toSummaryString
in interfaceSummarizable
- Returns:
- a concise version of the model
-
measureNumRules
public double measureNumRules()Return the number of rules.- Returns:
- the number of rules
-
enumerateMeasures
Returns an enumeration of the additional measure names- Specified by:
enumerateMeasures
in interfaceAdditionalMeasureProducer
- Returns:
- an enumeration of the measure names
-
getMeasure
Returns the value of the named measure- Specified by:
getMeasure
in interfaceAdditionalMeasureProducer
- 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
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
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
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
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
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
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
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
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
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
Returns the revision string.- Specified by:
getRevision
in interfaceRevisionHandler
- Overrides:
getRevision
in classAbstractClassifier
- Returns:
- the revision
-
main
Main method for testing this class.- Parameters:
argv
- command line options
-