Package weka.classifiers.trees.adtree
Class Splitter
- java.lang.Object
-
- weka.classifiers.trees.adtree.Splitter
-
- All Implemented Interfaces:
java.io.Serializable
,java.lang.Cloneable
,RevisionHandler
- Direct Known Subclasses:
TwoWayNominalSplit
,TwoWayNumericSplit
public abstract class Splitter extends java.lang.Object implements java.io.Serializable, java.lang.Cloneable, RevisionHandler
Abstract class representing a splitter node in an alternating tree.- Version:
- $Revision: 1.5 $
- Author:
- Richard Kirkby (rkirkby@cs.waikato.ac.nz)
- See Also:
- Serialized Form
-
-
Field Summary
Fields Modifier and Type Field Description int
orderAdded
The number this node was in the order of nodes added to the tree
-
Constructor Summary
Constructors Constructor Description Splitter()
-
Method Summary
All Methods Instance Methods Abstract Methods Modifier and Type Method Description abstract java.lang.String
attributeString(Instances dataset)
Gets the string describing the attributes the split depends on.abstract int
branchInstanceGoesDown(Instance i)
Gets the index of the branch that an instance applies to.abstract java.lang.Object
clone()
Clones this node.abstract java.lang.String
comparisonString(int branchNum, Instances dataset)
Gets the string describing the comparision the split depends on for a particular branch.abstract boolean
equalTo(Splitter compare)
Tests whether two splitters are equivalent.abstract PredictionNode
getChildForBranch(int branchNum)
Gets the child for a branch of the split.abstract int
getNumOfBranches()
Gets the number of branches of the split.abstract ReferenceInstances
instancesDownBranch(int branch, Instances sourceInstances)
Gets the subset of instances that apply to a particluar branch of the split.abstract void
setChildForBranch(int branchNum, PredictionNode childPredictor)
Sets the child for a branch of the split.-
Methods inherited from class java.lang.Object
equals, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
-
Methods inherited from interface weka.core.RevisionHandler
getRevision
-
-
-
-
Method Detail
-
getNumOfBranches
public abstract int getNumOfBranches()
Gets the number of branches of the split.- Returns:
- the number of branches
-
branchInstanceGoesDown
public abstract int branchInstanceGoesDown(Instance i)
Gets the index of the branch that an instance applies to. Returns -1 if no branches apply.- Parameters:
i
- the instance- Returns:
- the branch index
-
instancesDownBranch
public abstract ReferenceInstances instancesDownBranch(int branch, Instances sourceInstances)
Gets the subset of instances that apply to a particluar branch of the split. If the branch index is -1, the subset will consist of those instances that don't apply to any branch.- Parameters:
branch
- the index of the branchsourceInstances
- the instances from which to find the subset- Returns:
- the set of instances that apply
-
attributeString
public abstract java.lang.String attributeString(Instances dataset)
Gets the string describing the attributes the split depends on. i.e. the left hand side of the description of the split.- Parameters:
dataset
- the dataset that the split is based on- Returns:
- a string describing the attributes
-
comparisonString
public abstract java.lang.String comparisonString(int branchNum, Instances dataset)
Gets the string describing the comparision the split depends on for a particular branch. i.e. the right hand side of the description of the split.- Parameters:
branchNum
- the branch of the splitdataset
- the dataset that the split is based on- Returns:
- a string describing the comparison
-
equalTo
public abstract boolean equalTo(Splitter compare)
Tests whether two splitters are equivalent.- Parameters:
compare
- the splitter to compare with- Returns:
- whether or not they match
-
setChildForBranch
public abstract void setChildForBranch(int branchNum, PredictionNode childPredictor)
Sets the child for a branch of the split.- Parameters:
branchNum
- the branch to set the child forchildPredictor
- the new child
-
getChildForBranch
public abstract PredictionNode getChildForBranch(int branchNum)
Gets the child for a branch of the split.- Parameters:
branchNum
- the branch to get the child for- Returns:
- the child
-
clone
public abstract java.lang.Object clone()
Clones this node. Performs a deep copy, recursing through the tree.- Returns:
- a clone
-
-