Class TwoWayNominalSplit

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

public class TwoWayNominalSplit extends Splitter
Class representing a two-way split on a nominal attribute, of the form: either 'is some_value' or 'is not some_value'.
Version:
$Revision: 1.6 $
Author:
Richard Kirkby (rkirkby@cs.waikato.ac.nz)
See Also:
  • Constructor Details

    • TwoWayNominalSplit

      public TwoWayNominalSplit(int _attIndex, int _trueSplitValue)
      Creates a new two-way nominal splitter.
      Parameters:
      _attIndex - the index of the attribute this split depeneds on
      _trueSplitValue - the attribute value that the splitter splits on
  • Method Details

    • getNumOfBranches

      public int getNumOfBranches()
      Gets the number of branches of the split.
      Specified by:
      getNumOfBranches in class Splitter
      Returns:
      the number of branches (always = 2)
    • branchInstanceGoesDown

      public int branchInstanceGoesDown(Instance inst)
      Gets the index of the branch that an instance applies to. Returns -1 if no branches apply.
      Specified by:
      branchInstanceGoesDown in class Splitter
      Parameters:
      inst - the instance
      Returns:
      the branch index
    • instancesDownBranch

      public ReferenceInstances instancesDownBranch(int branch, Instances instances)
      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.
      Specified by:
      instancesDownBranch in class Splitter
      Parameters:
      branch - the index of the branch
      instances - the instances from which to find the subset
      Returns:
      the set of instances that apply
    • attributeString

      public 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.
      Specified by:
      attributeString in class Splitter
      Parameters:
      dataset - the dataset that the split is based on
      Returns:
      a string describing the attributes
    • comparisonString

      public 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.
      Specified by:
      comparisonString in class Splitter
      Parameters:
      branchNum - the branch of the split
      dataset - the dataset that the split is based on
      Returns:
      a string describing the comparison
    • equalTo

      public boolean equalTo(Splitter compare)
      Tests whether two splitters are equivalent.
      Specified by:
      equalTo in class Splitter
      Parameters:
      compare - the splitter to compare with
      Returns:
      whether or not they match
    • setChildForBranch

      public void setChildForBranch(int branchNum, PredictionNode childPredictor)
      Sets the child for a branch of the split.
      Specified by:
      setChildForBranch in class Splitter
      Parameters:
      branchNum - the branch to set the child for
      childPredictor - the new child
    • getChildForBranch

      public PredictionNode getChildForBranch(int branchNum)
      Gets the child for a branch of the split.
      Specified by:
      getChildForBranch in class Splitter
      Parameters:
      branchNum - the branch to get the child for
      Returns:
      the child
    • clone

      public Object clone()
      Clones this node. Performs a deep copy, recursing through the tree.
      Specified by:
      clone in class Splitter
      Returns:
      a clone
    • getRevision

      public String getRevision()
      Returns the revision string.
      Returns:
      the revision