weka.classifiers.trees
Class M5P

java.lang.Object
  extended by weka.classifiers.Classifier
      extended by weka.classifiers.trees.m5.M5Base
          extended by weka.classifiers.trees.M5P
All Implemented Interfaces:
java.io.Serializable, java.lang.Cloneable, AdditionalMeasureProducer, CapabilitiesHandler, Drawable, OptionHandler, RevisionHandler, TechnicalInformationHandler

public class M5P
extends M5Base
implements Drawable

M5Base. Implements base routines for generating M5 Model trees and rules
The original algorithm M5 was invented by R. Quinlan and Yong Wang made improvements.

For more information see:

Ross J. Quinlan: Learning with Continuous Classes. In: 5th Australian Joint Conference on Artificial Intelligence, Singapore, 343-348, 1992.

Y. Wang, I. H. Witten: Induction of model trees for predicting continuous classes. In: Poster papers of the 9th European Conference on Machine Learning, 1997.

BibTeX:

 @inproceedings{Quinlan1992,
    address = {Singapore},
    author = {Ross J. Quinlan},
    booktitle = {5th Australian Joint Conference on Artificial Intelligence},
    pages = {343-348},
    publisher = {World Scientific},
    title = {Learning with Continuous Classes},
    year = {1992}
 }
 
 @inproceedings{Wang1997,
    author = {Y. Wang and I. H. Witten},
    booktitle = {Poster papers of the 9th European Conference on Machine Learning},
    publisher = {Springer},
    title = {Induction of model trees for predicting continuous classes},
    year = {1997}
 }
 

Valid options are:

 -N
  Use unpruned tree/rules
 -U
  Use unsmoothed predictions
 -R
  Build regression tree/rule rather than a model tree/rule
 -M <minimum number of instances>
  Set minimum number of instances per leaf
  (default 4)
 -L
  Save instances at the nodes in
  the tree (for visualization purposes)

Version:
$Revision: 1.10 $
Author:
Mark Hall
See Also:
Serialized Form

Field Summary
 
Fields inherited from interface weka.core.Drawable
BayesNet, NOT_DRAWABLE, TREE
 
Constructor Summary
M5P()
          Creates a new M5P instance.
 
Method Summary
 java.lang.String[] getOptions()
          Gets the current settings of the classifier.
 java.lang.String getRevision()
          Returns the revision string.
 boolean getSaveInstances()
          Get whether instance data is being save.
 java.lang.String graph()
          Return a dot style String describing the tree.
 int graphType()
          Returns the type of graph this classifier represents.
 java.util.Enumeration listOptions()
          Returns an enumeration describing the available options
static void main(java.lang.String[] args)
          Main method by which this class can be tested
 java.lang.String saveInstancesTipText()
          Returns the tip text for this property
 void setOptions(java.lang.String[] options)
          Parses a given list of options.
 void setSaveInstances(boolean save)
          Set whether to save instance data at each node in the tree for visualization purposes
 
Methods inherited from class weka.classifiers.trees.m5.M5Base
buildClassifier, buildRegressionTreeTipText, classifyInstance, enumerateMeasures, generateRulesTipText, getBuildRegressionTree, getCapabilities, getM5RootNode, getMeasure, getMinNumInstances, getTechnicalInformation, getUnpruned, getUseUnsmoothed, globalInfo, measureNumRules, minNumInstancesTipText, setBuildRegressionTree, setMinNumInstances, setUnpruned, setUseUnsmoothed, toString, unprunedTipText, useUnsmoothedTipText
 
Methods inherited from class weka.classifiers.Classifier
debugTipText, distributionForInstance, forName, getDebug, makeCopies, makeCopy, setDebug
 
Methods inherited from class java.lang.Object
equals, getClass, hashCode, notify, notifyAll, wait, wait, wait
 

Constructor Detail

M5P

public M5P()
Creates a new M5P instance.

Method Detail

graphType

public int graphType()
Returns the type of graph this classifier represents.

Specified by:
graphType in interface Drawable
Returns:
Drawable.TREE

graph

public java.lang.String graph()
                       throws java.lang.Exception
Return a dot style String describing the tree.

Specified by:
graph in interface Drawable
Returns:
a String value
Throws:
java.lang.Exception - if an error occurs

saveInstancesTipText

public java.lang.String saveInstancesTipText()
Returns the tip text for this property

Returns:
tip text for this property suitable for displaying in the explorer/experimenter gui

setSaveInstances

public void setSaveInstances(boolean save)
Set whether to save instance data at each node in the tree for visualization purposes

Parameters:
save - a boolean value

getSaveInstances

public boolean getSaveInstances()
Get whether instance data is being save.

Returns:
a boolean value

listOptions

public java.util.Enumeration listOptions()
Returns an enumeration describing the available options

Specified by:
listOptions in interface OptionHandler
Overrides:
listOptions in class M5Base
Returns:
an enumeration of all the available options

setOptions

public void setOptions(java.lang.String[] options)
                throws java.lang.Exception
Parses a given list of options.

Valid options are:

 -N
  Use unpruned tree/rules
 -U
  Use unsmoothed predictions
 -R
  Build regression tree/rule rather than a model tree/rule
 -M <minimum number of instances>
  Set minimum number of instances per leaf
  (default 4)
 -L
  Save instances at the nodes in
  the tree (for visualization purposes)

Specified by:
setOptions in interface OptionHandler
Overrides:
setOptions in class M5Base
Parameters:
options - the list of options as an array of strings
Throws:
java.lang.Exception - if an option is not supported

getOptions

public java.lang.String[] getOptions()
Gets the current settings of the classifier.

Specified by:
getOptions in interface OptionHandler
Overrides:
getOptions in class M5Base
Returns:
an array of strings suitable for passing to setOptions

getRevision

public java.lang.String getRevision()
Returns the revision string.

Specified by:
getRevision in interface RevisionHandler
Returns:
the revision

main

public static void main(java.lang.String[] args)
Main method by which this class can be tested

Parameters:
args - an array of options