weka.classifiers.rules

## Class M5Rules

- java.lang.Object
- - weka.classifiers.AbstractClassifier
  - - weka.classifiers.trees.m5.M5Base
    - - weka.classifiers.rules.M5Rules

- All Implemented Interfaces:
    java.io.Serializable, java.lang.Cloneable, Classifier, AdditionalMeasureProducer, BatchPredictor, CapabilitiesHandler, CapabilitiesIgnorer, CommandlineRunnable, OptionHandler, RevisionHandler, TechnicalInformationHandler

      public class M5Rules
      extends M5Base
      implements TechnicalInformationHandler

  Generates a decision list for regression problems using separate-and-conquer. In each iteration it builds a model tree using M5 and makes the "best" leaf into a rule.
  For more information see:
  Geoffrey Holmes, Mark Hall, Eibe Frank: Generating Rule Sets from Model Trees. In: Twelfth Australian Joint Conference on Artificial Intelligence, 1-12, 1999.
  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{Holmes1999,
          author = {Geoffrey Holmes and Mark Hall and Eibe Frank},
          booktitle = {Twelfth Australian Joint Conference on Artificial Intelligence},
          pages = {1-12},
          publisher = {Springer},
          title = {Generating Rule Sets from Model Trees},
          year = {1999}
       }

       @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)

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

- - ### Field Summary

    - ### Fields inherited from class weka.classifiers.AbstractClassifier

      `BATCH_SIZE_DEFAULT, NUM_DECIMAL_PLACES_DEFAULT`

  - ### Constructor Summary

    Constructors
    Constructor and Description
    `M5Rules()` Constructor

  - ### Method Summary

    All Methods Static Methods Instance Methods Concrete Methods
    Modifier and Type | Method and Description
    --- | ---
    `java.lang.String` | `getRevision()` Returns the revision string.
    `TechnicalInformation` | `getTechnicalInformation()` Returns an instance of a TechnicalInformation object, containing detailed information about the technical background of this class, e.g., paper reference or book this class is based on.
    `java.lang.String` | `globalInfo()` Returns a string describing classifier
    `static void` | `main(java.lang.String[] args)` Main method by which this class can be tested

    - ### Methods inherited from class weka.classifiers.trees.m5.M5Base

      `buildClassifier, buildRegressionTreeTipText, classifyInstance, enumerateMeasures, generateRulesTipText, getBuildRegressionTree, getCapabilities, getM5RootNode, getMeasure, getMinNumInstances, getOptions, getUnpruned, getUseUnsmoothed, listOptions, measureNumRules, minNumInstancesTipText, setBuildRegressionTree, setMinNumInstances, setOptions, setUnpruned, setUseUnsmoothed, toString, unprunedTipText, useUnsmoothedTipText`

    - ### Methods inherited from class weka.classifiers.AbstractClassifier

      `batchSizeTipText, debugTipText, distributionForInstance, distributionsForInstances, doNotCheckCapabilitiesTipText, forName, getBatchSize, getDebug, getDoNotCheckCapabilities, getNumDecimalPlaces, implementsMoreEfficientBatchPrediction, makeCopies, makeCopy, numDecimalPlacesTipText, postExecution, preExecution, run, runClassifier, setBatchSize, setDebug, setDoNotCheckCapabilities, setNumDecimalPlaces`

    - ### Methods inherited from class java.lang.Object

      `equals, getClass, hashCode, notify, notifyAll, wait, wait, wait`

- - ### Constructor Detail

    - #### M5Rules

          public M5Rules()

      Constructor

  - ### Method Detail

    - #### globalInfo

          public java.lang.String globalInfo()

      Returns a string describing classifier
      Returns:
        a description suitable for displaying in the explorer/experimenter gui

    - #### getTechnicalInformation

          public TechnicalInformation getTechnicalInformation()

      Returns an instance of a TechnicalInformation object, containing detailed information about the technical background of this class, e.g., paper reference or book this class is based on.
      Specified by:
        `getTechnicalInformation` in interface `TechnicalInformationHandler`
      Overrides:
        `getTechnicalInformation` in class `M5Base`
      Returns:
        the technical information about this class

    - #### getRevision

          public java.lang.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(java.lang.String[] args)

      Main method by which this class can be tested
      Parameters:
        `args` - an array of options