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: 15357 $
Author:
Mark Hall
See Also:
  • 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
    • getNumDecimalPlaces

      public int getNumDecimalPlaces()
      Get the number of decimal places.
    • setNumDecimalPlaces

      public void setNumDecimalPlaces(int num)
      Set the number of decimal places.
    • getM5RootNode

      public RuleNode getM5RootNode()
    • getRevision

      public String getRevision()
      Returns the revision string.
      Specified by:
      getRevision in interface RevisionHandler
      Returns:
      the revision