|
||||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |
java.lang.Objectweka.classifiers.Classifier
weka.classifiers.rules.ConjunctiveRule
public class ConjunctiveRule
This class implements a single conjunctive rule learner that can predict for numeric and nominal class labels.
A rule consists of antecedents "AND"ed together and the consequent (class value) for the classification/regression. In this case, the consequent is the distribution of the available classes (or mean for a numeric value) in the dataset. If the test instance is not covered by this rule, then it's predicted using the default class distributions/value of the data not covered by the rule in the training data.This learner selects an antecedent by computing the Information Gain of each antecendent and prunes the generated rule using Reduced Error Prunning (REP) or simple pre-pruning based on the number of antecedents.
For classification, the Information of one antecedent is the weighted average of the entropies of both the data covered and not covered by the rule.
For regression, the Information is the weighted average of the mean-squared errors of both the data covered and not covered by the rule.
In pruning, weighted average of the accuracy rates on the pruning data is used for classification while the weighted average of the mean-squared errors on the pruning data is used for regression.
-N <number of folds> Set number of folds for REP One fold is used as pruning set. (default 3)
-R Set if NOT uses randomization (default:use randomization)
-E Set whether consider the exclusive expressions for nominal attributes (default false)
-M <min. weights> Set the minimal weights of instances within a split. (default 2.0)
-P <number of antecedents> Set number of antecedents for pre-pruning if -1, then REP is used (default -1)
-S <seed> Set the seed of randomization (default 1)
Constructor Summary | |
---|---|
ConjunctiveRule()
|
Method Summary | |
---|---|
void |
buildClassifier(Instances instances)
Builds a single rule learner with REP dealing with nominal classes or numeric classes. |
double[] |
distributionForInstance(Instance instance)
Computes class distribution for the given instance. |
java.lang.String |
exclusiveTipText()
Returns the tip text for this property |
java.lang.String |
foldsTipText()
Returns the tip text for this property |
Capabilities |
getCapabilities()
Returns default capabilities of the classifier. |
boolean |
getExclusive()
Returns whether exclusive expressions for nominal attributes splits are considered |
int |
getFolds()
returns the current number of folds |
double |
getMinNo()
Gets the minimum total weight of the instances in a rule |
int |
getNumAntds()
Gets the number of antecedants |
java.lang.String[] |
getOptions()
Gets the current settings of the Classifier. |
java.lang.String |
getRevision()
Returns the revision string. |
long |
getSeed()
returns the current seed value for randomizing the data |
java.lang.String |
globalInfo()
Returns a string describing classifier |
boolean |
hasAntds()
Whether this rule has antecedents, i.e. |
boolean |
isCover(Instance datum)
Whether the instance covered by this rule |
java.util.Enumeration |
listOptions()
Returns an enumeration describing the available options Valid options are: |
static void |
main(java.lang.String[] args)
Main method. |
java.lang.String |
minNoTipText()
Returns the tip text for this property |
java.lang.String |
numAntdsTipText()
Returns the tip text for this property |
java.lang.String |
seedTipText()
Returns the tip text for this property |
void |
setExclusive(boolean e)
Sets whether exclusive expressions for nominal attributes splits are considered |
void |
setFolds(int folds)
the number of folds to use |
void |
setMinNo(double m)
Sets the minimum total weight of the instances in a rule |
void |
setNumAntds(int n)
Sets the number of antecedants |
void |
setOptions(java.lang.String[] options)
Parses a given list of options. |
void |
setSeed(long s)
sets the seed for randomizing the data |
java.lang.String |
toString()
Prints this rule |
java.lang.String |
toString(java.lang.String att,
java.lang.String cl)
Prints this rule with the specified class label |
Methods inherited from class weka.classifiers.Classifier |
---|
classifyInstance, debugTipText, forName, getDebug, makeCopies, makeCopy, setDebug |
Methods inherited from class java.lang.Object |
---|
equals, getClass, hashCode, notify, notifyAll, wait, wait, wait |
Constructor Detail |
---|
public ConjunctiveRule()
Method Detail |
---|
public java.lang.String globalInfo()
public java.util.Enumeration listOptions()
-N number
Set number of folds for REP. One fold is
used as the pruning set. (Default: 3)
-R
Set if NOT randomize the data before split to growing and
pruning data. If NOT set, the seed of randomization is
specified by the -S option. (Default: randomize)
-S
Seed of randomization. (Default: 1)
-E
Set whether consider the exclusive expressions for nominal
attribute split. (Default: false)
-M number
Set the minimal weights of instances within a split.
(Default: 2)
-P number
Set the number of antecedents allowed in the rule if pre-pruning
is used. If this value is other than -1, then pre-pruning will be
used, otherwise the rule uses REP. (Default: -1)
listOptions
in interface OptionHandler
listOptions
in class Classifier
public void setOptions(java.lang.String[] options) throws java.lang.Exception
-N <number of folds> Set number of folds for REP One fold is used as pruning set. (default 3)
-R Set if NOT uses randomization (default:use randomization)
-E Set whether consider the exclusive expressions for nominal attributes (default false)
-M <min. weights> Set the minimal weights of instances within a split. (default 2.0)
-P <number of antecedents> Set number of antecedents for pre-pruning if -1, then REP is used (default -1)
-S <seed> Set the seed of randomization (default 1)
setOptions
in interface OptionHandler
setOptions
in class Classifier
options
- the list of options as an array of strings
java.lang.Exception
- if an option is not supportedpublic java.lang.String[] getOptions()
getOptions
in interface OptionHandler
getOptions
in class Classifier
public java.lang.String foldsTipText()
public void setFolds(int folds)
folds
- the number of folds to usepublic int getFolds()
public java.lang.String seedTipText()
public void setSeed(long s)
s
- the seed valuepublic long getSeed()
public java.lang.String exclusiveTipText()
public boolean getExclusive()
public void setExclusive(boolean e)
e
- whether to consider exclusive expressions for nominal attribute
splitspublic java.lang.String minNoTipText()
public void setMinNo(double m)
m
- the minimum total weight of the instances in a rulepublic double getMinNo()
public java.lang.String numAntdsTipText()
public void setNumAntds(int n)
n
- the number of antecedantspublic int getNumAntds()
public Capabilities getCapabilities()
getCapabilities
in interface CapabilitiesHandler
getCapabilities
in class Classifier
Capabilities
public void buildClassifier(Instances instances) throws java.lang.Exception
buildClassifier
in class Classifier
instances
- the training data
java.lang.Exception
- if classifier can't be built successfullypublic double[] distributionForInstance(Instance instance) throws java.lang.Exception
distributionForInstance
in class Classifier
instance
- the instance for which distribution is to be computed
java.lang.Exception
- if given instance is nullpublic boolean isCover(Instance datum)
datum
- the instance in question
public boolean hasAntds()
public java.lang.String toString(java.lang.String att, java.lang.String cl)
att
- the string standing for attribute in the consequent of this rulecl
- the string standing for value in the consequent of this rule
public java.lang.String toString()
toString
in class java.lang.Object
public java.lang.String getRevision()
getRevision
in interface RevisionHandler
getRevision
in class Classifier
public static void main(java.lang.String[] args)
args
- the options for the classifier
|
||||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |