Package weka.classifiers.trees.adtree

# 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:
  - Serialized Form

## Field Summary

### Fields inherited from class weka.classifiers.trees.adtree.Splitter

`orderAdded`

## Constructor Summary

Constructors
Constructor
Description
`TwoWayNominalSplit(int _attIndex, int _trueSplitValue)`
Creates a new two-way nominal splitter.

## Method Summary

Modifier and Type
Method
Description
`String`
`attributeString(Instances dataset)`
Gets the string describing the attributes the split depends on.
`int`
`branchInstanceGoesDown(Instance inst)`
Gets the index of the branch that an instance applies to.
`Object`
`clone()`
Clones this node.
`String`
`comparisonString(int branchNum, Instances dataset)`
Gets the string describing the comparision the split depends on for a particular branch.
`boolean`
`equalTo(Splitter compare)`
Tests whether two splitters are equivalent.
`PredictionNode`
`getChildForBranch(int branchNum)`
Gets the child for a branch of the split.
`int`
`getNumOfBranches()`
Gets the number of branches of the split.
`String`
`getRevision()`
Returns the revision string.
`ReferenceInstances`
`instancesDownBranch(int branch, Instances instances)`
Gets the subset of instances that apply to a particluar branch of the split.
`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`

## 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