Package weka.classifiers.trees.m5

# Class Rule

java.lang.Object
weka.classifiers.trees.m5.Rule

All Implemented Interfaces:
  `Serializable`, `RevisionHandler`

public class Rule extends Object implements Serializable, RevisionHandler
Generates a single m5 tree or rule

Version:
  $Revision: 6260 $
Author:
  Mark Hall
See Also:
  - Serialized Form

## Constructor Summary

Constructors
Constructor
Description
`Rule()`
Constructor declaration

## Method Summary

Modifier and Type
Method
Description
`void`
`buildClassifier(Instances data)`
Generates a single rule or m5 model tree.
`double`
`classifyInstance(Instance instance)`
Calculates a prediction for an instance using this rule or M5 model tree
`void`
`freeNotCoveredInstances()`
Free up memory consumed by the set of instances not covered by this rule.
`RuleNode`
`getM5RootNode()`
`double`
`getMinNumInstances()`
Get the minimum number of instances to allow at a leaf node
`boolean`
`getRegressionTree()`
Get the value of regressionTree.
`String`
`getRevision()`
Returns the revision string.
`boolean`
`getSmoothing()`
Get whether or not smoothing has been turned on
`boolean`
`getUnpruned()`
Get whether unpruned tree/rules are being generated
`boolean`
`getUseTree()`
get whether an m5 tree is being used rather than rules
`Instances`
`notCoveredInstances()`
Get the instances not covered by this rule
`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.
`void`
`setSmoothing(boolean s)`
Smooth predictions
`void`
`setUnpruned(boolean unpruned)`
Use unpruned tree/rules
`void`
`setUseTree(boolean u)`
Use an m5 tree rather than generate rules
`RuleNode`
`topOfTree()`
Returns the top of the tree.
`String`
`toString()`
Return a description of the m5 tree or rule

### Methods inherited from class java.lang.Object

`equals, getClass, hashCode, notify, notifyAll, wait, wait, wait`

## Constructor Details

### Rule

public Rule()
Constructor declaration

## Method Details

### buildClassifier

public void buildClassifier(Instances data) throws Exception
Generates a single rule or m5 model tree.

Parameters:
  `data` - set of instances serving as training data
Throws:
  `Exception` - if the rule has not been generated successfully

### classifyInstance

public double classifyInstance(Instance instance) throws Exception
Calculates a prediction for an instance using this rule or M5 model tree

Parameters:
  `instance` - the instance whos class value is to be predicted
Returns:
  the prediction
Throws:
  `Exception` - if a prediction can't be made.

### topOfTree

public RuleNode topOfTree()
Returns the top of the tree.

### toString

public String toString()
Return a description of the m5 tree or rule

Overrides:
  `toString` in class `Object`
Returns:
  a description of the m5 tree or rule as a String

### setUnpruned

public void setUnpruned(boolean unpruned)
Use unpruned tree/rules

Parameters:
  `unpruned` - true if unpruned tree/rules are to be generated

### getUnpruned

public boolean getUnpruned()
Get whether unpruned tree/rules are being generated

Returns:
  true if unpruned tree/rules are to be generated

### setUseTree

public void setUseTree(boolean u)
Use an m5 tree rather than generate rules

Parameters:
  `u` - true if m5 tree is to be used

### getUseTree

public boolean getUseTree()
get whether an m5 tree is being used rather than rules

Returns:
  true if an m5 tree is being used.

### setSmoothing

public void setSmoothing(boolean s)
Smooth predictions

Parameters:
  `s` - true if smoothing is to be used

### getSmoothing

public boolean getSmoothing()
Get whether or not smoothing has been turned on

Returns:
  true if smoothing is being used

### notCoveredInstances

public Instances notCoveredInstances()
Get the instances not covered by this rule

Returns:
  the instances not covered

### freeNotCoveredInstances

public void freeNotCoveredInstances()
Free up memory consumed by the set of instances not covered by this rule.

### getRegressionTree

public boolean getRegressionTree()
Get the value of regressionTree.

Returns:
  Value of regressionTree.

### setRegressionTree

public void setRegressionTree(boolean newregressionTree)
Set the value of regressionTree.

Parameters:
  `newregressionTree` - Value to assign to regressionTree.

### setMinNumInstances

public void setMinNumInstances(double minNum)
Set the minumum number of instances to allow at a leaf node

Parameters:
  `minNum` - the minimum number of instances

### getMinNumInstances

public double getMinNumInstances()
Get the minimum number of instances to allow at a leaf node

Returns:
  a `double` value

### getM5RootNode

public RuleNode getM5RootNode()

### getRevision

public String getRevision()
Returns the revision string.

Specified by:
  `getRevision` in interface `RevisionHandler`
Returns:
  the revision