Package weka.classifiers.trees.m5
Class Rule
- java.lang.Object
-
- weka.classifiers.trees.m5.Rule
-
- All Implemented Interfaces:
java.io.Serializable,RevisionHandler
public class Rule extends java.lang.Object implements java.io.Serializable, RevisionHandler
Generates a single m5 tree or rule- Version:
- $Revision: 6260 $
- Author:
- Mark Hall
- See Also:
- Serialized Form
-
-
Constructor Summary
Constructors Constructor Description Rule()Constructor declaration
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description voidbuildClassifier(Instances data)Generates a single rule or m5 model tree.doubleclassifyInstance(Instance instance)Calculates a prediction for an instance using this rule or M5 model treevoidfreeNotCoveredInstances()Free up memory consumed by the set of instances not covered by this rule.RuleNodegetM5RootNode()doublegetMinNumInstances()Get the minimum number of instances to allow at a leaf nodebooleangetRegressionTree()Get the value of regressionTree.java.lang.StringgetRevision()Returns the revision string.booleangetSmoothing()Get whether or not smoothing has been turned onbooleangetUnpruned()Get whether unpruned tree/rules are being generatedbooleangetUseTree()get whether an m5 tree is being used rather than rulesInstancesnotCoveredInstances()Get the instances not covered by this rulevoidsetMinNumInstances(double minNum)Set the minumum number of instances to allow at a leaf nodevoidsetRegressionTree(boolean newregressionTree)Set the value of regressionTree.voidsetSmoothing(boolean s)Smooth predictionsvoidsetUnpruned(boolean unpruned)Use unpruned tree/rulesvoidsetUseTree(boolean u)Use an m5 tree rather than generate rulesRuleNodetopOfTree()Returns the top of the tree.java.lang.StringtoString()Return a description of the m5 tree or rule
-
-
-
Method Detail
-
buildClassifier
public void buildClassifier(Instances data) throws java.lang.Exception
Generates a single rule or m5 model tree.- Parameters:
data- set of instances serving as training data- Throws:
java.lang.Exception- if the rule has not been generated successfully
-
classifyInstance
public double classifyInstance(Instance instance) throws java.lang.Exception
Calculates a prediction for an instance using this rule or M5 model tree- Parameters:
instance- the instance whos class value is to be predicted- Returns:
- the prediction
- Throws:
java.lang.Exception- if a prediction can't be made.
-
topOfTree
public RuleNode topOfTree()
Returns the top of the tree.
-
toString
public java.lang.String toString()
Return a description of the m5 tree or rule- Overrides:
toStringin classjava.lang.Object- Returns:
- a description of the m5 tree or rule as a String
-
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
-
setUseTree
public void setUseTree(boolean u)
Use an m5 tree rather than generate rules- Parameters:
u- true if m5 tree is to be used
-
getUseTree
public boolean getUseTree()
get whether an m5 tree is being used rather than rules- Returns:
- true if an m5 tree is being used.
-
setSmoothing
public void setSmoothing(boolean s)
Smooth predictions- Parameters:
s- true if smoothing is to be used
-
getSmoothing
public boolean getSmoothing()
Get whether or not smoothing has been turned on- Returns:
- true if smoothing is being used
-
notCoveredInstances
public Instances notCoveredInstances()
Get the instances not covered by this rule- Returns:
- the instances not covered
-
freeNotCoveredInstances
public void freeNotCoveredInstances()
Free up memory consumed by the set of instances not covered by this rule.
-
getRegressionTree
public boolean getRegressionTree()
Get the value of regressionTree.- Returns:
- Value of regressionTree.
-
setRegressionTree
public void setRegressionTree(boolean newregressionTree)
Set the value of regressionTree.- Parameters:
newregressionTree- Value to assign to regressionTree.
-
setMinNumInstances
public void setMinNumInstances(double minNum)
Set the minumum 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
doublevalue
-
getM5RootNode
public RuleNode getM5RootNode()
-
getRevision
public java.lang.String getRevision()
Returns the revision string.- Specified by:
getRevisionin interfaceRevisionHandler- Returns:
- the revision
-
-