Class JRip.RipperRule

  • All Implemented Interfaces:
    java.io.Serializable, Copyable, RevisionHandler, WeightedInstancesHandler
    Enclosing class:
    JRip

    public class JRip.RipperRule
    extends Rule
    This class implements a single rule that predicts specified class. A rule consists of antecedents "AND"ed together and the consequent (class value) for the classification. In this class, the Information Gain (p*[log(p/t) - log(P/T)]) is used to select an antecedent and Reduced Error Prunning (REP) with the metric of accuracy rate p/(p+n) or (TP+TN)/(P+N) is used to prune the rule.
    See Also:
    Serialized Form
    • Constructor Summary

      Constructors 
      Constructor Description
      RipperRule()
      Constructor
    • Method Summary

      All Methods Instance Methods Concrete Methods 
      Modifier and Type Method Description
      java.lang.Object copy()
      Get a shallow copy of this rule
      boolean covers​(Instance datum)
      Whether the instance covered by this rule
      FastVector getAntds()
      Return the antecedents
      double getConsequent()
      Gets the internal representation of the class label to be predicted
      java.lang.String getRevision()
      Returns the revision string.
      void grow​(Instances data)
      Build one rule using the growing data
      boolean hasAntds()
      Whether this rule has antecedents, i.e.
      void prune​(Instances pruneData, boolean useWhole)
      Prune all the possible final sequences of the rule using the pruning data.
      void setConsequent​(double cl)
      Sets the internal representation of the class label to be predicted
      double size()
      the number of antecedents of the rule
      java.lang.String toString​(Attribute classAttr)
      Prints this rule
      • Methods inherited from class java.lang.Object

        equals, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
    • Constructor Detail

      • RipperRule

        public RipperRule()
        Constructor
    • Method Detail

      • setConsequent

        public void setConsequent​(double cl)
        Sets the internal representation of the class label to be predicted
        Parameters:
        cl - the internal representation of the class label to be predicted
      • getConsequent

        public double getConsequent()
        Gets the internal representation of the class label to be predicted
        Specified by:
        getConsequent in class Rule
        Returns:
        the internal representation of the class label to be predicted
      • copy

        public java.lang.Object copy()
        Get a shallow copy of this rule
        Specified by:
        copy in interface Copyable
        Overrides:
        copy in class Rule
        Returns:
        the copy
      • covers

        public boolean covers​(Instance datum)
        Whether the instance covered by this rule
        Specified by:
        covers in class Rule
        Parameters:
        datum - the instance in question
        Returns:
        the boolean value indicating whether the instance is covered by this rule
      • hasAntds

        public boolean hasAntds()
        Whether this rule has antecedents, i.e. whether it is a default rule
        Specified by:
        hasAntds in class Rule
        Returns:
        the boolean value indicating whether the rule has antecedents
      • getAntds

        public FastVector getAntds()
        Return the antecedents
        Returns:
        the vector of antecedents
      • size

        public double size()
        the number of antecedents of the rule
        Specified by:
        size in class Rule
        Returns:
        the size of this rule
      • grow

        public void grow​(Instances data)
                  throws java.lang.Exception
        Build one rule using the growing data
        Specified by:
        grow in class Rule
        Parameters:
        data - the growing data used to build the rule
        Throws:
        java.lang.Exception - if the consequent is not set yet
      • prune

        public void prune​(Instances pruneData,
                          boolean useWhole)
        Prune all the possible final sequences of the rule using the pruning data. The measure used to prune the rule is based on flag given.
        Parameters:
        pruneData - the pruning data used to prune the rule
        useWhole - flag to indicate whether use the error rate of the whole pruning data instead of the data covered
      • toString

        public java.lang.String toString​(Attribute classAttr)
        Prints this rule
        Parameters:
        classAttr - the class attribute in the data
        Returns:
        a textual description of this rule
      • getRevision

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