Class M5P

All Implemented Interfaces:
Serializable, Cloneable, Classifier, AdditionalMeasureProducer, BatchPredictor, CapabilitiesHandler, CapabilitiesIgnorer, CommandlineRunnable, 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: 14508 $
Author:
Mark Hall
See Also:
  • Constructor Details

    • M5P

      public M5P()
      Creates a new M5P instance.
  • Method Details

    • globalInfo

      public String globalInfo()
      returns information about the classifier
      Returns:
      a description suitable for displaying in the explorer/experimenter gui
    • graphType

      public int graphType()
      Returns the type of graph this classifier represents.
      Specified by:
      graphType in interface Drawable
      Returns:
      Drawable.TREE
    • graph

      public String graph() throws Exception
      Return a dot style String describing the tree.
      Specified by:
      graph in interface Drawable
      Returns:
      a String value
      Throws:
      Exception - if an error occurs
    • saveInstancesTipText

      public 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 Enumeration<Option> 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(String[] options) throws 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:
      Exception - if an option is not supported
    • getOptions

      public 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 String getRevision()
      Returns the revision string.
      Specified by:
      getRevision in interface RevisionHandler
      Overrides:
      getRevision in class AbstractClassifier
      Returns:
      the revision
    • main

      public static void main(String[] args)
      Main method by which this class can be tested
      Parameters:
      args - an array of options