Package weka.classifiers.trees
Class LMT
java.lang.Object
weka.classifiers.AbstractClassifier
weka.classifiers.trees.LMT
- All Implemented Interfaces:
Serializable,Cloneable,Classifier,AdditionalMeasureProducer,BatchPredictor,CapabilitiesHandler,CapabilitiesIgnorer,CommandlineRunnable,Drawable,OptionHandler,RevisionHandler,TechnicalInformationHandler
public class LMT
extends AbstractClassifier
implements OptionHandler, AdditionalMeasureProducer, Drawable, TechnicalInformationHandler
Classifier for building 'logistic model trees',
which are classification trees with logistic regression functions at the
leaves. The algorithm can deal with binary and multi-class target variables,
numeric and nominal attributes and missing values.
For more information see:
Niels Landwehr, Mark Hall, Eibe Frank (2005). Logistic Model Trees. Machine Learning. 95(1-2):161-205.
Marc Sumner, Eibe Frank, Mark Hall: Speeding up Logistic Model Tree Induction. In: 9th European Conference on Principles and Practice of Knowledge Discovery in Databases, 675-683, 2005. BibTeX:
For more information see:
Niels Landwehr, Mark Hall, Eibe Frank (2005). Logistic Model Trees. Machine Learning. 95(1-2):161-205.
Marc Sumner, Eibe Frank, Mark Hall: Speeding up Logistic Model Tree Induction. In: 9th European Conference on Principles and Practice of Knowledge Discovery in Databases, 675-683, 2005. BibTeX:
@article{Landwehr2005,
author = {Niels Landwehr and Mark Hall and Eibe Frank},
journal = {Machine Learning},
number = {1-2},
pages = {161-205},
title = {Logistic Model Trees},
volume = {95},
year = {2005}
}
@inproceedings{Sumner2005,
author = {Marc Sumner and Eibe Frank and Mark Hall},
booktitle = {9th European Conference on Principles and Practice of Knowledge Discovery in Databases},
pages = {675-683},
publisher = {Springer},
title = {Speeding up Logistic Model Tree Induction},
year = {2005}
}
Valid options are:
-B Binary splits (convert nominal attributes to binary ones)
-R Split on residuals instead of class values
-C Use cross-validation for boosting at all nodes (i.e., disable heuristic)
-P Use error on probabilities instead of misclassification error for stopping criterion of LogitBoost.
-I <numIterations> Set fixed number of iterations for LogitBoost (instead of using cross-validation)
-M <numInstances> Set minimum number of instances at which a node can be split (default 15)
-W <beta> Set beta for weight trimming for LogitBoost. Set to 0 (default) for no weight trimming.
-A The AIC is used to choose the best iteration.
-doNotMakeSplitPointActualValue Do not make split point actual value.
- Version:
- $Revision: 15520 $
- Author:
- Niels Landwehr, Marc Sumner
- See Also:
-
Field Summary
Fields inherited from class weka.classifiers.AbstractClassifier
BATCH_SIZE_DEFAULT, NUM_DECIMAL_PLACES_DEFAULTFields inherited from interface weka.core.Drawable
BayesNet, Newick, NOT_DRAWABLE, TREE -
Constructor Summary
Constructors -
Method Summary
Modifier and TypeMethodDescriptionvoidbuildClassifier(Instances data) Builds the classifier.doubleclassifyInstance(Instance instance) Classifies an instance.Returns the tip text for this propertydouble[]distributionForInstance(Instance instance) Returns class probabilities for an instance.Returns the tip text for this propertyReturns an enumeration of the additional measure namesReturns the tip text for this propertyReturns the tip text for this propertyReturns default capabilities of the classifier.booleanGet the value of convertNominal.booleanGets the value of doNotMakeSplitPointActualValue.booleanGet the value of errorOnProbabilities.booleanGet the value of fastRegression.doublegetMeasure(String additionalMeasureName) Returns the value of the named measureintGet the value of minNumInstances.intGet the value of numBoostingIterations.String[]Gets the current settings of the Classifier.Returns the revision string.booleanGet the value of splitOnResiduals.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.booleanGet the value of useAIC.doubleGet the value of weightTrimBeta.Returns a string describing classifiergraph()Returns graph describing the tree.intReturns the type of graph this classifier represents.Returns an enumeration describing the available options.static voidMain method for testing this classintReturns the number of leaves in the treeintReturns the size of the treeReturns the tip text for this propertyReturns the tip text for this propertyReturns the tip text for this propertyvoidsetConvertNominal(boolean c) Set the value of convertNominal.voidsetDoNotMakeSplitPointActualValue(boolean m_doNotMakeSplitPointActualValue) Sets the value of doNotMakeSplitPointActualValue.voidsetErrorOnProbabilities(boolean c) Set the value of errorOnProbabilities.voidsetFastRegression(boolean c) Set the value of fastRegression.voidsetMinNumInstances(int c) Set the value of minNumInstances.voidsetNumBoostingIterations(int c) Set the value of numBoostingIterations.voidsetOptions(String[] options) Parses a given list of options.voidsetSplitOnResiduals(boolean c) Set the value of splitOnResiduals.voidsetUseAIC(boolean c) Set the value of useAIC.voidsetWeightTrimBeta(double n) Set the value of weightTrimBeta.Returns the tip text for this propertytoString()Returns a description of the classifier.Returns 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, postExecution, preExecution, run, runClassifier, setBatchSize, setDebug, setDoNotCheckCapabilities, setNumDecimalPlaces
-
Constructor Details
-
LMT
public LMT()Creates an instance of LMT with standard options
-
-
Method Details
-
getCapabilities
Returns default capabilities of the classifier.- Specified by:
getCapabilitiesin interfaceCapabilitiesHandler- Specified by:
getCapabilitiesin interfaceClassifier- Overrides:
getCapabilitiesin classAbstractClassifier- Returns:
- the capabilities of this classifier
- See Also:
-
buildClassifier
Builds the classifier.- Specified by:
buildClassifierin interfaceClassifier- Parameters:
data- the data to train with- Throws:
Exception- if classifier can't be built successfully
-
distributionForInstance
Returns class probabilities for an instance.- Specified by:
distributionForInstancein interfaceClassifier- Overrides:
distributionForInstancein classAbstractClassifier- Parameters:
instance- the instance to compute the distribution for- Returns:
- the class probabilities
- Throws:
Exception- if distribution can't be computed successfully
-
classifyInstance
Classifies an instance.- Specified by:
classifyInstancein interfaceClassifier- Overrides:
classifyInstancein classAbstractClassifier- Parameters:
instance- the instance to classify- Returns:
- the classification
- Throws:
Exception- if instance can't be classified successfully
-
toString
Returns a description of the classifier. -
listOptions
Returns an enumeration describing the available options.- Specified by:
listOptionsin interfaceOptionHandler- Overrides:
listOptionsin classAbstractClassifier- Returns:
- an enumeration of all the available options.
-
setOptions
Parses a given list of options. Valid options are:-B Binary splits (convert nominal attributes to binary ones)
-R Split on residuals instead of class values
-C Use cross-validation for boosting at all nodes (i.e., disable heuristic)
-P Use error on probabilities instead of misclassification error for stopping criterion of LogitBoost.
-I <numIterations> Set fixed number of iterations for LogitBoost (instead of using cross-validation)
-M <numInstances> Set minimum number of instances at which a node can be split (default 15)
-W <beta> Set beta for weight trimming for LogitBoost. Set to 0 (default) for no weight trimming.
-A The AIC is used to choose the best iteration.
-doNotMakeSplitPointActualValue Do not make split point actual value.
- Specified by:
setOptionsin interfaceOptionHandler- Overrides:
setOptionsin 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:
getOptionsin interfaceOptionHandler- Overrides:
getOptionsin classAbstractClassifier- Returns:
- an array of strings suitable for passing to setOptions
-
getWeightTrimBeta
public double getWeightTrimBeta()Get the value of weightTrimBeta. -
getUseAIC
public boolean getUseAIC()Get the value of useAIC.- Returns:
- Value of useAIC.
-
setWeightTrimBeta
public void setWeightTrimBeta(double n) Set the value of weightTrimBeta. -
setUseAIC
public void setUseAIC(boolean c) Set the value of useAIC.- Parameters:
c- Value to assign to useAIC.
-
getConvertNominal
public boolean getConvertNominal()Get the value of convertNominal.- Returns:
- Value of convertNominal.
-
getSplitOnResiduals
public boolean getSplitOnResiduals()Get the value of splitOnResiduals.- Returns:
- Value of splitOnResiduals.
-
getFastRegression
public boolean getFastRegression()Get the value of fastRegression.- Returns:
- Value of fastRegression.
-
getErrorOnProbabilities
public boolean getErrorOnProbabilities()Get the value of errorOnProbabilities.- Returns:
- Value of errorOnProbabilities.
-
getNumBoostingIterations
public int getNumBoostingIterations()Get the value of numBoostingIterations.- Returns:
- Value of numBoostingIterations.
-
getMinNumInstances
public int getMinNumInstances()Get the value of minNumInstances.- Returns:
- Value of minNumInstances.
-
setConvertNominal
public void setConvertNominal(boolean c) Set the value of convertNominal.- Parameters:
c- Value to assign to convertNominal.
-
setSplitOnResiduals
public void setSplitOnResiduals(boolean c) Set the value of splitOnResiduals.- Parameters:
c- Value to assign to splitOnResiduals.
-
setFastRegression
public void setFastRegression(boolean c) Set the value of fastRegression.- Parameters:
c- Value to assign to fastRegression.
-
setErrorOnProbabilities
public void setErrorOnProbabilities(boolean c) Set the value of errorOnProbabilities.- Parameters:
c- Value to assign to errorOnProbabilities.
-
setNumBoostingIterations
public void setNumBoostingIterations(int c) Set the value of numBoostingIterations.- Parameters:
c- Value to assign to numBoostingIterations.
-
setMinNumInstances
public void setMinNumInstances(int c) Set the value of minNumInstances.- Parameters:
c- Value to assign to minNumInstances.
-
graphType
public int graphType()Returns the type of graph this classifier represents. -
graph
Returns graph describing the tree. -
measureTreeSize
public int measureTreeSize()Returns the size of the tree- Returns:
- the size of the tree
-
measureNumLeaves
public int measureNumLeaves()Returns the number of leaves in the tree- Returns:
- the number of leaves in the tree
-
enumerateMeasures
Returns an enumeration of the additional measure names- Specified by:
enumerateMeasuresin interfaceAdditionalMeasureProducer- Returns:
- an enumeration of the measure names
-
getMeasure
Returns the value of the named measure- Specified by:
getMeasurein 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
-
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:
getTechnicalInformationin interfaceTechnicalInformationHandler- Returns:
- the technical information about this class
-
convertNominalTipText
Returns the tip text for this property- Returns:
- tip text for this property suitable for displaying in the explorer/experimenter gui
-
splitOnResidualsTipText
Returns the tip text for this property- Returns:
- tip text for this property suitable for displaying in the explorer/experimenter gui
-
fastRegressionTipText
Returns the tip text for this property- Returns:
- tip text for this property suitable for displaying in the explorer/experimenter gui
-
errorOnProbabilitiesTipText
Returns the tip text for this property- Returns:
- tip text for this property suitable for displaying in the explorer/experimenter gui
-
numBoostingIterationsTipText
Returns the tip text for this property- Returns:
- tip text for this property suitable for displaying in the explorer/experimenter gui
-
minNumInstancesTipText
Returns the tip text for this property- Returns:
- tip text for this property suitable for displaying in the explorer/experimenter gui
-
weightTrimBetaTipText
Returns the tip text for this property- Returns:
- tip text for this property suitable for displaying in the explorer/experimenter gui
-
useAICTipText
Returns the tip text for this property- Returns:
- tip text for this property suitable for displaying in the explorer/experimenter gui
-
doNotMakeSplitPointActualValueTipText
Returns the tip text for this property- Returns:
- tip text for this property suitable for displaying in the explorer/experimenter gui
-
numDecimalPlacesTipText
Returns the tip text for this property- Overrides:
numDecimalPlacesTipTextin classAbstractClassifier- 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:
getRevisionin interfaceRevisionHandler- Overrides:
getRevisionin classAbstractClassifier- Returns:
- the revision
-
main
Main method for testing this class- Parameters:
argv- the commandline options
-