Class Rule

  • All Implemented Interfaces:
    java.io.Serializable, RevisionHandler

    public class Rule
    extends java.lang.Object
    implements java.io.Serializable, RevisionHandler
    Generates a single m5 tree or rule
    Version:
    $Revision: 6260 $
    Author:
    Mark Hall
    See Also:
    Serialized Form
    • Constructor Detail

      • Rule

        public Rule()
        Constructor declaration
    • Method Detail

      • buildClassifier

        public void buildClassifier​(Instances data)
                             throws java.lang.Exception
        Generates a single rule or m5 model tree.
        Parameters:
        data - set of instances serving as training data
        Throws:
        java.lang.Exception - if the rule has not been generated successfully
      • classifyInstance

        public double classifyInstance​(Instance instance)
                                throws java.lang.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:
        java.lang.Exception - if a prediction can't be made.
      • topOfTree

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

        public java.lang.String toString()
        Return a description of the m5 tree or rule
        Overrides:
        toString in class java.lang.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 java.lang.String getRevision()
        Returns the revision string.
        Specified by:
        getRevision in interface RevisionHandler
        Returns:
        the revision