|
||||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |
java.lang.Objectweka.classifiers.Classifier
weka.classifiers.trees.m5.RuleNode
Constructs a node for use in an m5 tree or rule
Field Summary | |
protected RuleNode |
m_left
child nodes |
protected int |
m_numInstances
the number of instances reaching this node |
int |
m_numParameters
the number of paramters in the chosen model for this node---either the subtree model or the linear model. |
protected RuleNode |
m_right
|
Constructor Summary | |
RuleNode(double globalDev,
double globalAbsDev,
RuleNode parent)
Creates a new RuleNode instance. |
Method Summary | |
protected Instance |
applyNodeFilter(Instance inst)
Apply the attribute filter at this node to a set of supplied instances |
protected int |
assignIDs(int lastID)
Assigns a unique identifier to each node in the tree |
void |
buildClassifier(Instances data)
Build this node (find an attribute and split point) |
double |
classifyInstance(Instance inst)
Classify an instance using this node. |
void |
findBestLeaf(double[] maxCoverage,
RuleNode[] bestLeaf)
Find the leaf with greatest coverage |
double |
getMinNumInstances()
Get the minimum number of instances to allow at a leaf node |
protected LinearRegression |
getModel()
Get the linear model at this node |
boolean |
getRegressionTree()
Get the value of regressionTree. |
boolean |
getSmoothing()
Method declaration |
protected void |
graph(java.lang.StringBuffer text)
Assign a unique identifier to each node in the tree and then calls graphTree |
protected void |
graphTree(java.lang.StringBuffer text)
Return a dotty style string describing the tree |
void |
installLinearModels()
Traverses the tree and installs linear models at each node. |
RuleNode |
leftNode()
Get the left child of this node |
java.lang.String |
nodeToString()
Returns a description of this node (debugging purposes) |
int |
numberOfLinearModels()
Get the number of linear models in the tree |
int |
numLeaves(int leafCounter)
Sets the leaves' numbers |
RuleNode |
parentNode()
Get the parent of this node |
void |
printAllModels()
Print all the linear models at the learf (debugging purposes) |
java.lang.String |
printLeafModels()
print all leaf models |
java.lang.String |
printNodeLinearModel()
print the linear model at this node |
void |
prune()
Recursively prune the tree |
void |
returnLeaves(FastVector[] v)
Return a list containing all the leaves in the tree |
RuleNode |
rightNode()
Get the right child of this node |
protected double |
rootMeanSquaredError()
Get the root mean squared error at this node |
void |
setMinNumInstances(double minNum)
Set the minumum number of instances to allow at a leaf node |
void |
setRegressionTree(boolean newregressionTree)
Set the value of regressionTree. |
protected void |
setSaveInstances(boolean save)
Set whether to save instances for visualization purposes. |
void |
setSmoothing(boolean s)
Get if smoothing is being used |
protected static double |
smoothingOriginal(double n,
double pred,
double supportPred)
Applies the m5 smoothing procedure to a prediction |
void |
split()
Finds an attribute and split point for this node |
int |
splitAtt()
Get the index of the splitting attribute for this node |
double |
splitVal()
Get the split point for this node |
java.lang.String |
toString()
print the linear model at this node |
java.lang.String |
treeToString(int level)
Recursively builds a textual description of the tree |
Methods inherited from class weka.classifiers.Classifier |
forName, makeCopies |
Methods inherited from class java.lang.Object |
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait |
Field Detail |
protected int m_numInstances
public int m_numParameters
protected RuleNode m_left
protected RuleNode m_right
Constructor Detail |
public RuleNode(double globalDev, double globalAbsDev, RuleNode parent)
RuleNode
instance.
globalDev
- the global standard deviation of the classglobalAbsDev
- the global absolute deviation of the classparent
- the parent of this nodeMethod Detail |
public void buildClassifier(Instances data) throws java.lang.Exception
buildClassifier
in class Classifier
data
- the instances on which to build this node
java.lang.Exception
- if an error occurspublic double classifyInstance(Instance inst) throws java.lang.Exception
classifyInstance
in class Classifier
inst
- the instance to classify
java.lang.Exception
- if an error occursprotected static double smoothingOriginal(double n, double pred, double supportPred) throws java.lang.Exception
n
- number of instances in selected child of this nodepred
- the prediction so farsupportPred
- the prediction of the linear model at this node
java.lang.Exception
- if an error occurspublic void split() throws java.lang.Exception
java.lang.Exception
- if an error occurspublic int numLeaves(int leafCounter)
leafCounter
- the number of leaves counted
public java.lang.String toString()
public java.lang.String printNodeLinearModel()
public java.lang.String printLeafModels()
public java.lang.String nodeToString()
public java.lang.String treeToString(int level)
level
- the level of this node
public void installLinearModels() throws java.lang.Exception
java.lang.Exception
- if an error occurspublic void prune() throws java.lang.Exception
java.lang.Exception
- if an error occurspublic void findBestLeaf(double[] maxCoverage, RuleNode[] bestLeaf)
maxCoverage
- the greatest coverage found so farbestLeaf
- the leaf with the greatest coveragepublic void returnLeaves(FastVector[] v)
v
- a single element array containing a vector of leavespublic RuleNode parentNode()
public RuleNode leftNode()
public RuleNode rightNode()
public int splitAtt()
public double splitVal()
public int numberOfLinearModels()
protected double rootMeanSquaredError()
protected LinearRegression getModel()
public void setSmoothing(boolean s)
s
- true if smoothing is being usedpublic boolean getSmoothing()
public boolean getRegressionTree()
public void setMinNumInstances(double minNum)
minNum
- the minimum number of instancespublic double getMinNumInstances()
double
valuepublic void setRegressionTree(boolean newregressionTree)
newregressionTree
- Value to assign to regressionTree.protected Instance applyNodeFilter(Instance inst) throws java.lang.Exception
inst
- the instances to apply the filter to
java.lang.Exception
- if an error occurspublic void printAllModels()
protected int assignIDs(int lastID)
lastID
- last id number used
protected void graph(java.lang.StringBuffer text)
text
- a StringBuffer
valueprotected void graphTree(java.lang.StringBuffer text)
text
- a StringBuffer
valueprotected void setSaveInstances(boolean save)
save
- a boolean
value
|
||||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |