Package weka.classifiers.trees.m5
Class M5Base
java.lang.Object
weka.classifiers.AbstractClassifier
weka.classifiers.trees.m5.M5Base
- All Implemented Interfaces:
Serializable
,Cloneable
,Classifier
,AdditionalMeasureProducer
,BatchPredictor
,CapabilitiesHandler
,CapabilitiesIgnorer
,CommandlineRunnable
,OptionHandler
,RevisionHandler
,TechnicalInformationHandler
public abstract class M5Base
extends AbstractClassifier
implements AdditionalMeasureProducer, TechnicalInformationHandler
M5Base. Implements base routines for generating M5 Model trees and rules.
Wang, Y and Witten, I. H. (1997). Induction of model trees for predicting continuous classes. Proceedings of the poster papers of the European Conference on Machine Learning. University of Economics, Faculty of Informatics and Statistics, Prague. Valid options are:
The original algorithm M5 was invented by Quinlan:
Quinlan J. R. (1992). Learning with continuous classes. Proceedings of the
Australian Joint Conference on Artificial Intelligence. 343--348. World
Scientific, Singapore.
Wang, Y and Witten, I. H. (1997). Induction of model trees for predicting continuous classes. Proceedings of the poster papers of the European Conference on Machine Learning. University of Economics, Faculty of Informatics and Statistics, Prague. Valid options are:
-U
Use unsmoothed predictions.
-R
Build regression tree/rule rather than model tree/rule
- Version:
- $Revision: 15519 $
- Author:
- Mark Hall (mhall@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 TypeMethodDescriptionvoid
buildClassifier
(Instances data) Generates the classifier.Returns the tip text for this propertydouble
classifyInstance
(Instance inst) Calculates a prediction for an instance using a set of rules or an M5 model treeReturns an enumeration of the additional measure namesReturns the tip text for this propertyboolean
Get the value of regressionTree.Returns default capabilities of the classifier, i.e., of LinearRegression.double
getMeasure
(String additionalMeasureName) Returns the value of the named measuredouble
Get the minimum number of instances to allow at a leaf nodeString[]
Gets the current settings of the classifier.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 whether unpruned tree/rules are being generatedboolean
Get whether or not smoothing is being usedReturns an enumeration describing the available optionsdouble
return the number of rulesReturns the tip text for this propertyvoid
setBuildRegressionTree
(boolean newregressionTree) Set the value of regressionTree.void
setMinNumInstances
(double minNum) Set the minimum number of instances to allow at a leaf nodevoid
setOptions
(String[] options) Parses a given list of options.void
setUnpruned
(boolean unpruned) Use unpruned tree/rulesvoid
setUseUnsmoothed
(boolean s) Use unsmoothed predictionstoString()
Returns a description of the classifierReturns the tip text for this propertyReturns the tip text for this propertyMethods inherited from class weka.classifiers.AbstractClassifier
batchSizeTipText, debugTipText, distributionForInstance, distributionsForInstances, doNotCheckCapabilitiesTipText, forName, getBatchSize, getDebug, getDoNotCheckCapabilities, getNumDecimalPlaces, getRevision, implementsMoreEfficientBatchPrediction, makeCopies, makeCopy, numDecimalPlacesTipText, postExecution, preExecution, run, runClassifier, setBatchSize, setDebug, setDoNotCheckCapabilities, setNumDecimalPlaces
-
Constructor Details
-
M5Base
public M5Base()Constructor
-
-
Method Details
-
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
-
listOptions
Returns an enumeration describing the available options- 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:-U
Use unsmoothed predictions.-R
Build a regression tree rather than a model tree.- 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
-
unprunedTipText
Returns the tip text for this property- Returns:
- tip text for this property suitable for displaying in the explorer/experimenter gui
-
setUnpruned
public void setUnpruned(boolean unpruned) Use unpruned tree/rules- Parameters:
unpruned
- true if unpruned tree/rules are to be generated
-
getUnpruned
public boolean getUnpruned()Get whether unpruned tree/rules are being generated- Returns:
- true if unpruned tree/rules are to be generated
-
generateRulesTipText
Returns the tip text for this property- Returns:
- tip text for this property suitable for displaying in the explorer/experimenter gui
-
useUnsmoothedTipText
Returns the tip text for this property- Returns:
- tip text for this property suitable for displaying in the explorer/experimenter gui
-
setUseUnsmoothed
public void setUseUnsmoothed(boolean s) Use unsmoothed predictions- Parameters:
s
- true if unsmoothed predictions are to be used
-
getUseUnsmoothed
public boolean getUseUnsmoothed()Get whether or not smoothing is being used- Returns:
- true if unsmoothed predictions are to be used
-
buildRegressionTreeTipText
Returns the tip text for this property- Returns:
- tip text for this property suitable for displaying in the explorer/experimenter gui
-
getBuildRegressionTree
public boolean getBuildRegressionTree()Get the value of regressionTree.- Returns:
- Value of regressionTree.
-
setBuildRegressionTree
public void setBuildRegressionTree(boolean newregressionTree) Set the value of regressionTree.- Parameters:
newregressionTree
- Value to assign to regressionTree.
-
minNumInstancesTipText
Returns the tip text for this property- Returns:
- tip text for this property suitable for displaying in the explorer/experimenter gui
-
setMinNumInstances
public void setMinNumInstances(double minNum) Set the minimum number of instances to allow at a leaf node- Parameters:
minNum
- the minimum number of instances
-
getMinNumInstances
public double getMinNumInstances()Get the minimum number of instances to allow at a leaf node- Returns:
- a
double
value
-
getCapabilities
Returns default capabilities of the classifier, i.e., of LinearRegression.- 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:
data
- set of instances serving as training data- Throws:
Exception
- if the classifier has not been generated successfully
-
classifyInstance
Calculates a prediction for an instance using a set of rules or an M5 model tree- Specified by:
classifyInstance
in interfaceClassifier
- Overrides:
classifyInstance
in classAbstractClassifier
- Parameters:
inst
- the instance whos class value is to be predicted- Returns:
- the prediction
- Throws:
Exception
- if a prediction can't be made.
-
toString
Returns a description of the classifier -
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:
Exception
- if the named measure is not supported
-
measureNumRules
public double measureNumRules()return the number of rules- Returns:
- the number of rules (same as # linear models & # leaves in the tree)
-
getM5RootNode
-