Package weka.classifiers.trees
Class RandomTree
java.lang.Object
weka.classifiers.AbstractClassifier
weka.classifiers.trees.RandomTree
- All Implemented Interfaces:
Serializable
,Cloneable
,Classifier
,BatchPredictor
,CapabilitiesHandler
,CapabilitiesIgnorer
,CommandlineRunnable
,Drawable
,OptionHandler
,PartitionGenerator
,Randomizable
,RevisionHandler
,WeightedInstancesHandler
public class RandomTree
extends AbstractClassifier
implements OptionHandler, WeightedInstancesHandler, Randomizable, Drawable, PartitionGenerator
Class for constructing a tree that considers K
randomly chosen attributes at each node. Performs no pruning. Also has an
option to allow estimation of class probabilities (or target mean in the
regression case) based on a hold-out set (backfitting).
Valid options are:
Valid options are:
-K <number of attributes> Number of attributes to randomly investigate. (default 0) (<1 = int(log_2(#predictors)+1)).
-M <minimum number of instances> Set minimum number of instances per leaf. (default 1)
-V <minimum variance for split> Set minimum numeric class variance proportion of train variance for split (default 1e-3).
-S <num> Seed for random number generator. (default 1)
-depth <num> The maximum depth of the tree, 0 for unlimited. (default 0)
-N <num> Number of folds for backfitting (default 0, no backfitting).
-U Allow unclassified instances.
-B Break ties randomly when several attributes look equally good.
-output-debug-info If set, classifier is run in debug mode and may output additional info to the console
-do-not-check-capabilities If set, classifier capabilities are not checked before classifier is built (use with caution).
-num-decimal-places The number of decimal places for the output of numbers in the model (default 2).
- Version:
- $Revision: 15519 $
- Author:
- Eibe Frank (eibe@cs.waikato.ac.nz), Richard Kirkby (rkirkby@cs.waikato.ac.nz)
- See Also:
-
Field Summary
Fields inherited from class weka.classifiers.AbstractClassifier
BATCH_SIZE_DEFAULT, NUM_DECIMAL_PLACES_DEFAULT
Fields inherited from interface weka.core.Drawable
BayesNet, Newick, NOT_DRAWABLE, TREE
-
Constructor Summary
-
Method Summary
Modifier and TypeMethodDescriptionReturns the tip text for this propertyReturns the tip text for this propertyvoid
buildClassifier
(Instances data) Builds classifier.double[]
distributionForInstance
(Instance instance) Computes class distribution of an instance using the tree.void
generatePartition
(Instances data) Builds the classifier to generate a partition.boolean
Gets whether tree is allowed to abstain from making a prediction.boolean
Get whether to break ties randomly.Returns default capabilities of the classifier.boolean
Get whether to compute/store impurity decreases for variable importance in RandomForestdouble[][]
Get the array of impurity decrease/gain sumsint
Get the value of K.int
Get the maximum depth of trh tree, 0 for unlimited.double[]
getMembershipValues
(Instance instance) Computes array that indicates node membership.double
Get the value of MinNum.double
Get the value of MinVarianceProp.int
Get the value of NumFolds.String[]
Gets options from this classifier.int
getSeed()
Gets the seed for the random number generationsReturns a string describing classifiergraph()
Returns graph describing the tree.int
Returns the type of graph this classifier represents.Returns the tip text for this propertyLists the command-line options for this classifier.static void
Main method for this class.Returns the tip text for this propertyReturns the tip text for this propertyReturns the tip text for this propertyint
Returns the number of elements in the partition.Returns the tip text for this propertyReturns the tip text for this propertyvoid
setAllowUnclassifiedInstances
(boolean newAllowUnclassifiedInstances) Set the value of AllowUnclassifiedInstances.void
setBreakTiesRandomly
(boolean newBreakTiesRandomly) Set whether to break ties randomly.void
setComputeImpurityDecreases
(boolean computeImpurityDecreases) Set whether to compute/store impurity decreases for variable importance in RandomForestvoid
setKValue
(int k) Set the value of K.void
setMaxDepth
(int value) Set the maximum depth of the tree, 0 for unlimited.void
setMinNum
(double newMinNum) Set the value of MinNum.void
setMinVarianceProp
(double newMinVarianceProp) Set the value of MinVarianceProp.void
setNumFolds
(int newNumFolds) Set the value of NumFolds.void
setOptions
(String[] options) Parses a given list of options.void
setSeed
(int seed) Set the seed for random number generation.toString()
Outputs the decision tree.Methods inherited from class weka.classifiers.AbstractClassifier
batchSizeTipText, classifyInstance, debugTipText, distributionsForInstances, doNotCheckCapabilitiesTipText, forName, getBatchSize, getDebug, getDoNotCheckCapabilities, getNumDecimalPlaces, getRevision, implementsMoreEfficientBatchPrediction, makeCopies, makeCopy, numDecimalPlacesTipText, postExecution, preExecution, run, runClassifier, setBatchSize, setDebug, setDoNotCheckCapabilities, setNumDecimalPlaces
-
Constructor Details
-
RandomTree
public RandomTree()
-
-
Method Details
-
globalInfo
Returns a string describing classifier- Returns:
- a description suitable for displaying in the explorer/experimenter gui
-
getImpurityDecreases
public double[][] getImpurityDecreases()Get the array of impurity decrease/gain sums- Returns:
- the array of impurity decrease/gain sums
-
setComputeImpurityDecreases
Set whether to compute/store impurity decreases for variable importance in RandomForest- Parameters:
computeImpurityDecreases
- true to compute and store impurity decrease values for splitting attributes
-
getComputeImpurityDecreases
public boolean getComputeImpurityDecreases()Get whether to compute/store impurity decreases for variable importance in RandomForest- Returns:
- true to compute and store impurity decrease values for splitting attributes
-
minNumTipText
Returns the tip text for this property- Returns:
- tip text for this property suitable for displaying in the explorer/experimenter gui
-
getMinNum
public double getMinNum()Get the value of MinNum.- Returns:
- Value of MinNum.
-
setMinNum
public void setMinNum(double newMinNum) Set the value of MinNum.- Parameters:
newMinNum
- Value to assign to MinNum.
-
minVariancePropTipText
Returns the tip text for this property- Returns:
- tip text for this property suitable for displaying in the explorer/experimenter gui
-
getMinVarianceProp
public double getMinVarianceProp()Get the value of MinVarianceProp.- Returns:
- Value of MinVarianceProp.
-
setMinVarianceProp
public void setMinVarianceProp(double newMinVarianceProp) Set the value of MinVarianceProp.- Parameters:
newMinVarianceProp
- Value to assign to MinVarianceProp.
-
KValueTipText
Returns the tip text for this property- Returns:
- tip text for this property suitable for displaying in the explorer/experimenter gui
-
getKValue
public int getKValue()Get the value of K.- Returns:
- Value of K.
-
setKValue
public void setKValue(int k) Set the value of K.- Parameters:
k
- Value to assign to K.
-
seedTipText
Returns the tip text for this property- Returns:
- tip text for this property suitable for displaying in the explorer/experimenter gui
-
setSeed
public void setSeed(int seed) Set the seed for random number generation.- Specified by:
setSeed
in interfaceRandomizable
- Parameters:
seed
- the seed
-
getSeed
public int getSeed()Gets the seed for the random number generations- Specified by:
getSeed
in interfaceRandomizable
- Returns:
- the seed for the random number generation
-
maxDepthTipText
Returns the tip text for this property- Returns:
- tip text for this property suitable for displaying in the explorer/experimenter gui
-
getMaxDepth
public int getMaxDepth()Get the maximum depth of trh tree, 0 for unlimited.- Returns:
- the maximum depth.
-
setMaxDepth
public void setMaxDepth(int value) Set the maximum depth of the tree, 0 for unlimited.- Parameters:
value
- the maximum depth.
-
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 newNumFolds) Set the value of NumFolds.- Parameters:
newNumFolds
- Value to assign to NumFolds.
-
allowUnclassifiedInstancesTipText
Returns the tip text for this property- Returns:
- tip text for this property suitable for displaying in the explorer/experimenter gui
-
getAllowUnclassifiedInstances
public boolean getAllowUnclassifiedInstances()Gets whether tree is allowed to abstain from making a prediction.- Returns:
- true if tree is allowed to abstain from making a prediction.
-
setAllowUnclassifiedInstances
public void setAllowUnclassifiedInstances(boolean newAllowUnclassifiedInstances) Set the value of AllowUnclassifiedInstances.- Parameters:
newAllowUnclassifiedInstances
- true if tree is allowed to abstain from making a prediction
-
breakTiesRandomlyTipText
Returns the tip text for this property- Returns:
- tip text for this property suitable for displaying in the explorer/experimenter gui
-
getBreakTiesRandomly
public boolean getBreakTiesRandomly()Get whether to break ties randomly.- Returns:
- true if ties are to be broken randomly.
-
setBreakTiesRandomly
public void setBreakTiesRandomly(boolean newBreakTiesRandomly) Set whether to break ties randomly.- Parameters:
newBreakTiesRandomly
- true if ties are to be broken randomly
-
listOptions
Lists the command-line options for this classifier.- Specified by:
listOptions
in interfaceOptionHandler
- Overrides:
listOptions
in classAbstractClassifier
- Returns:
- an enumeration over all possible options
-
getOptions
Gets options from this classifier.- Specified by:
getOptions
in interfaceOptionHandler
- Overrides:
getOptions
in classAbstractClassifier
- Returns:
- the options for the current setup
-
setOptions
Parses a given list of options. Valid options are:-K <number of attributes> Number of attributes to randomly investigate. (default 0) (<1 = int(log_2(#predictors)+1)).
-M <minimum number of instances> Set minimum number of instances per leaf. (default 1)
-V <minimum variance for split> Set minimum numeric class variance proportion of train variance for split (default 1e-3).
-S <num> Seed for random number generator. (default 1)
-depth <num> The maximum depth of the tree, 0 for unlimited. (default 0)
-N <num> Number of folds for backfitting (default 0, no backfitting).
-U Allow unclassified instances.
-B Break ties randomly when several attributes look equally good.
-output-debug-info If set, classifier is run in debug mode and may output additional info to the console
-do-not-check-capabilities If set, classifier capabilities are not checked before classifier is built (use with caution).
-num-decimal-places The number of decimal places for the output of numbers in the model (default 2).
- 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
-
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
Builds classifier.- Specified by:
buildClassifier
in interfaceClassifier
- Parameters:
data
- the data to train with- Throws:
Exception
- if something goes wrong or the data doesn't fit
-
distributionForInstance
Computes class distribution of an instance using the tree.- Specified by:
distributionForInstance
in interfaceClassifier
- Overrides:
distributionForInstance
in classAbstractClassifier
- Parameters:
instance
- the instance to compute the distribution for- Returns:
- the computed class probabilities
- Throws:
Exception
- if computation fails
-
toString
Outputs the decision tree. -
graph
Returns graph describing the tree. -
graphType
public int graphType()Returns the type of graph this classifier represents. -
generatePartition
Builds the classifier to generate a partition.- Specified by:
generatePartition
in interfacePartitionGenerator
- Throws:
Exception
-
getMembershipValues
Computes array that indicates node membership. Array locations are allocated based on breadth-first exploration of the tree.- Specified by:
getMembershipValues
in interfacePartitionGenerator
- Throws:
Exception
-
numElements
Returns the number of elements in the partition.- Specified by:
numElements
in interfacePartitionGenerator
- Throws:
Exception
-
main
Main method for this class.- Parameters:
argv
- the commandline parameters
-