weka.classifiers.rules.part
Class ClassifierDecList

java.lang.Object
  extended byweka.classifiers.rules.part.ClassifierDecList
All Implemented Interfaces:
java.io.Serializable
Direct Known Subclasses:
C45PruneableDecList, PruneableDecList

public class ClassifierDecList
extends java.lang.Object
implements java.io.Serializable

Class for handling a rule (partial tree) for a decision list.

Version:
$Revision: 1.9 $
Author:
Eibe Frank (eibe@cs.waikato.ac.nz)
See Also:
Serialized Form

Field Summary
protected  int indeX
          Which son to expand?
protected  boolean m_isEmpty
          True if node is empty.
protected  boolean m_isLeaf
          True if node is leaf.
protected  ClassifierSplitModel m_localModel
          Local model at node.
protected  int m_minNumObj
          Minimum number of objects
protected  ClassifierDecList[] m_sons
          References to sons.
protected static EntropySplitCrit m_splitCrit
          To compute the entropy.
protected  Distribution m_test
          The pruning instances.
protected  ModelSelection m_toSelectModel
          The model selection method.
protected  Instances m_train
          The training instances.
 
Constructor Summary
ClassifierDecList(ModelSelection toSelectLocModel, int minNum)
          Constructor - just calls constructor of class DecList.
 
Method Summary
 void buildDecList(Instances data, boolean leaf)
          Builds the partial tree without hold out set.
 void buildRule(Instances data)
          Method for building a pruned partial tree.
 int chooseIndex()
          Method for choosing a subset to expand.
 int chooseLastIndex()
          Choose last index (ie. choose rule).
 double classifyInstance(Instance instance)
          Classifies an instance.
 void cleanup(Instances justHeaderInfo)
          Cleanup in order to save memory.
 double[] distributionForInstance(Instance instance)
          Returns class probabilities for a weighted instance.
private  void dumpDecList(java.lang.StringBuffer text)
          Help method for printing tree structure.
private  void dumpTree(int depth, java.lang.StringBuffer text)
          Dumps the partial tree (only used for debugging)
protected  ClassifierDecList getNewDecList(Instances train, boolean leaf)
          Returns a newly created tree.
private  double getProbs(int classIndex, Instance instance, double weight)
          Help method for computing class probabilities of a given instance.
protected  double getSizeOfBranch()
          Returns the number of instances covered by a branch
protected  ClassifierSplitModel localModel()
          Method just exists to make program easier to read.
protected  ClassifierDecList son(int index)
          Method just exists to make program easier to read.
 java.lang.String toString()
          Prints rules.
 double weight(Instance instance)
          Returns the weight a rule assigns to an instance.
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
 

Field Detail

m_minNumObj

protected int m_minNumObj
Minimum number of objects


m_splitCrit

protected static EntropySplitCrit m_splitCrit
To compute the entropy.


m_toSelectModel

protected ModelSelection m_toSelectModel
The model selection method.


m_localModel

protected ClassifierSplitModel m_localModel
Local model at node.


m_sons

protected ClassifierDecList[] m_sons
References to sons.


m_isLeaf

protected boolean m_isLeaf
True if node is leaf.


m_isEmpty

protected boolean m_isEmpty
True if node is empty.


m_train

protected Instances m_train
The training instances.


m_test

protected Distribution m_test
The pruning instances.


indeX

protected int indeX
Which son to expand?

Constructor Detail

ClassifierDecList

public ClassifierDecList(ModelSelection toSelectLocModel,
                         int minNum)
Constructor - just calls constructor of class DecList.

Method Detail

buildRule

public void buildRule(Instances data)
               throws java.lang.Exception
Method for building a pruned partial tree.

Throws:
java.lang.Exception - if something goes wrong

buildDecList

public void buildDecList(Instances data,
                         boolean leaf)
                  throws java.lang.Exception
Builds the partial tree without hold out set.

Throws:
java.lang.Exception - if something goes wrong

classifyInstance

public double classifyInstance(Instance instance)
                        throws java.lang.Exception
Classifies an instance.

Throws:
java.lang.Exception - if something goes wrong

distributionForInstance

public final double[] distributionForInstance(Instance instance)
                                       throws java.lang.Exception
Returns class probabilities for a weighted instance.

Throws:
java.lang.Exception - if something goes wrong

weight

public double weight(Instance instance)
              throws java.lang.Exception
Returns the weight a rule assigns to an instance.

Throws:
java.lang.Exception - if something goes wrong

cleanup

public final void cleanup(Instances justHeaderInfo)
Cleanup in order to save memory.


toString

public java.lang.String toString()
Prints rules.


getNewDecList

protected ClassifierDecList getNewDecList(Instances train,
                                          boolean leaf)
                                   throws java.lang.Exception
Returns a newly created tree.

Throws:
java.lang.Exception - if something goes wrong

chooseIndex

public final int chooseIndex()
Method for choosing a subset to expand.


chooseLastIndex

public final int chooseLastIndex()
Choose last index (ie. choose rule).


getSizeOfBranch

protected double getSizeOfBranch()
Returns the number of instances covered by a branch


dumpDecList

private void dumpDecList(java.lang.StringBuffer text)
                  throws java.lang.Exception
Help method for printing tree structure.

Throws:
java.lang.Exception

dumpTree

private void dumpTree(int depth,
                      java.lang.StringBuffer text)
               throws java.lang.Exception
Dumps the partial tree (only used for debugging)

Throws:
exception - Exception if something goes wrong
java.lang.Exception

getProbs

private double getProbs(int classIndex,
                        Instance instance,
                        double weight)
                 throws java.lang.Exception
Help method for computing class probabilities of a given instance.

Throws:
exception - Exception if something goes wrong
java.lang.Exception

localModel

protected ClassifierSplitModel localModel()
Method just exists to make program easier to read.


son

protected ClassifierDecList son(int index)
Method just exists to make program easier to read.