Class C45PruneableClassifierTreeG

java.lang.Object
weka.classifiers.trees.j48.ClassifierTree
weka.classifiers.trees.j48.C45PruneableClassifierTreeG
All Implemented Interfaces:
Serializable, CapabilitiesHandler, Drawable, RevisionHandler

public class C45PruneableClassifierTreeG extends ClassifierTree
Class for handling a tree structure that can be pruned using C4.5 procedures and have nodes grafted on.
Version:
$Revision: 5535 $
Author:
Janice Boughton (based on code by Eibe Frank)
See Also:
  • Constructor Details

    • C45PruneableClassifierTreeG

      public C45PruneableClassifierTreeG(ModelSelection toSelectLocModel, boolean pruneTree, float cf, boolean raiseTree, boolean relabel, boolean cleanup) throws Exception
      Constructor for pruneable tree structure. Stores reference to associated training data at each node.
      Parameters:
      toSelectLocModel - selection method for local splitting model
      pruneTree - true if the tree is to be pruned
      cf - the confidence factor for pruning
      raiseTree -
      cleanup -
      Throws:
      Exception - if something goes wrong
    • C45PruneableClassifierTreeG

      public C45PruneableClassifierTreeG(ModelSelection toSelectLocModel, Instances data, ClassifierSplitModel gs, boolean prune, float cf, boolean raise, boolean isLeaf, boolean relabel, boolean cleanup)
      Constructor for pruneable tree structure. Used to create new nodes in the tree during grafting.
      Parameters:
      toSelectLocModel - selection method for local splitting model
      data - the dta used to produce split model
      gs - the split model
      prune - true if the tree is to be pruned
      cf - the confidence factor for pruning
      raise -
      isLeaf - if this node is a leaf or not
      relabel - whether relabeling occured
      cleanup -
      Throws:
      Exception - if something goes wrong
  • Method Details

    • getCapabilities

      public Capabilities getCapabilities()
      Returns default capabilities of the classifier tree.
      Specified by:
      getCapabilities in interface CapabilitiesHandler
      Overrides:
      getCapabilities in class ClassifierTree
      Returns:
      the capabilities of this classifier tree
      See Also:
    • buildClassifier

      public void buildClassifier(Instances data) throws Exception
      Method for building a pruneable classifier tree.
      Overrides:
      buildClassifier in class ClassifierTree
      Parameters:
      data - the data to build the tree from
      datathe - data for building the tree
      Throws:
      Exception - if something goes wrong
    • collapse

      public final void collapse()
      Collapses a tree to a node if training error doesn't increase.
    • prune

      public void prune() throws Exception
      Prunes a tree using C4.5's pruning procedure.
      Throws:
      Exception - if something goes wrong
    • doGrafting

      public void doGrafting(Instances data) throws Exception
      Initializes variables for grafting. sets up limits array (for numeric attributes) and calls the recursive function traverseTree.
      Parameters:
      data - the data for the tree
      Throws:
      Exception - if anything goes wrong
    • setDescendents

      public void setDescendents(ArrayList t, C45PruneableClassifierTreeG originalLeaf)
      add the grafted nodes at originalLeaf's position in tree. a recursive function that terminates when t is empty.
      Parameters:
      t - the list of nodes to graft
      originalLeaf - the leaf that the grafts are replacing
    • biprob

      public double biprob(double x, double n, double r) throws Exception
      Significance test
      Parameters:
      double - x, double n, double r.
      Returns:
      returns the probability of obtaining x or MORE out of n if r proportion of n are positive. z for normal estimation of binomial probability of obtaining x or more out of n, if r proportion of n are positive
      Throws:
      Exception
    • toString

      public String toString()
      Prints tree structure.
      Overrides:
      toString in class ClassifierTree
      Returns:
      the tree structure
    • getRevision

      public String getRevision()
      Returns the revision string.
      Specified by:
      getRevision in interface RevisionHandler
      Overrides:
      getRevision in class ClassifierTree
      Returns:
      the revision