Class Splitter

java.lang.Object
weka.classifiers.trees.adtree.Splitter
All Implemented Interfaces:
Serializable, Cloneable, RevisionHandler
Direct Known Subclasses:
TwoWayNominalSplit, TwoWayNumericSplit

public abstract class Splitter extends Object implements Serializable, 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:
  • Field Details

    • orderAdded

      public int orderAdded
      The number this node was in the order of nodes added to the tree
  • Constructor Details

    • Splitter

      public Splitter()
  • Method Details

    • 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 branch
      sourceInstances - the instances from which to find the subset
      Returns:
      the set of instances that apply
    • attributeString

      public abstract 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 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 split
      dataset - 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 for
      childPredictor - 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 Object clone()
      Clones this node. Performs a deep copy, recursing through the tree.
      Returns:
      a clone