weka.classifiers.rules
Class JRip.RipperRule

java.lang.Object
  extended by weka.classifiers.rules.Rule
      extended by weka.classifiers.rules.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
JRip.RipperRule()
          Constructor
 
Method Summary
 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

JRip.RipperRule

public JRip.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