Package weka.classifiers.trees.j48
Class C45PruneableClassifierTreeG
java.lang.Object
weka.classifiers.trees.j48.ClassifierTree
weka.classifiers.trees.j48.C45PruneableClassifierTreeG
- All Implemented Interfaces:
Serializable
,CapabilitiesHandler
,Drawable
,RevisionHandler
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:
-
Field Summary
Fields inherited from interface weka.core.Drawable
BayesNet, Newick, NOT_DRAWABLE, TREE
-
Constructor Summary
ConstructorsConstructorDescriptionC45PruneableClassifierTreeG
(ModelSelection toSelectLocModel, boolean pruneTree, float cf, boolean raiseTree, boolean relabel, boolean cleanup) Constructor for pruneable tree structure.C45PruneableClassifierTreeG
(ModelSelection toSelectLocModel, Instances data, ClassifierSplitModel gs, boolean prune, float cf, boolean raise, boolean isLeaf, boolean relabel, boolean cleanup) Constructor for pruneable tree structure. -
Method Summary
Modifier and TypeMethodDescriptiondouble
biprob
(double x, double n, double r) Significance testvoid
buildClassifier
(Instances data) Method for building a pruneable classifier tree.final void
collapse()
Collapses a tree to a node if training error doesn't increase.void
doGrafting
(Instances data) Initializes variables for grafting.Returns default capabilities of the classifier tree.Returns the revision string.void
prune()
Prunes a tree using C4.5's pruning procedure.void
setDescendents
(ArrayList t, C45PruneableClassifierTreeG originalLeaf) add the grafted nodes at originalLeaf's position in tree.toString()
Prints tree structure.Methods inherited from class weka.classifiers.trees.j48.ClassifierTree
assignIDs, buildTree, buildTree, classifyInstance, cleanup, distributionForInstance, graph, graphType, numLeaves, numNodes, prefix, toSource
-
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 modelpruneTree
- true if the tree is to be prunedcf
- the confidence factor for pruningraiseTree
-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 modeldata
- the dta used to produce split modelgs
- the split modelprune
- true if the tree is to be prunedcf
- the confidence factor for pruningraise
-isLeaf
- if this node is a leaf or notrelabel
- whether relabeling occuredcleanup
-- Throws:
Exception
- if something goes wrong
-
-
Method Details
-
getCapabilities
Returns default capabilities of the classifier tree.- Specified by:
getCapabilities
in interfaceCapabilitiesHandler
- Overrides:
getCapabilities
in classClassifierTree
- Returns:
- the capabilities of this classifier tree
- See Also:
-
buildClassifier
Method for building a pruneable classifier tree.- Overrides:
buildClassifier
in classClassifierTree
- Parameters:
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
Prunes a tree using C4.5's pruning procedure.- Throws:
Exception
- if something goes wrong
-
doGrafting
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
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 graftoriginalLeaf
- the leaf that the grafts are replacing
-
biprob
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
Prints tree structure.- Overrides:
toString
in classClassifierTree
- Returns:
- the tree structure
-
getRevision
Returns the revision string.- Specified by:
getRevision
in interfaceRevisionHandler
- Overrides:
getRevision
in classClassifierTree
- Returns:
- the revision
-