Package weka.classifiers.meta

# Class ClassificationViaRegression

java.lang.Object
weka.classifiers.AbstractClassifier
weka.classifiers.SingleClassifierEnhancer
weka.classifiers.meta.ClassificationViaRegression

All Implemented Interfaces:
  `Serializable`, `Cloneable`, `Classifier`, `BatchPredictor`, `CapabilitiesHandler`, `CapabilitiesIgnorer`, `CommandlineRunnable`, `OptionHandler`, `RevisionHandler`, `TechnicalInformationHandler`, `WeightedInstancesHandler`

public class ClassificationViaRegression extends SingleClassifierEnhancer implements TechnicalInformationHandler, WeightedInstancesHandler
Class for doing classification using regression methods. Class is binarized and one regression model is built for each class value. For more information, see, for example
E. Frank, Y. Wang, S. Inglis, G. Holmes, I.H. Witten (1998). Using model trees for classification. Machine Learning. 32(1):63-76.

BibTeX:

     @article{Frank1998,
        author = {E. Frank and Y. Wang and S. Inglis and G. Holmes and I.H. Witten},
        journal = {Machine Learning},
        number = {1},
        pages = {63-76},
        title = {Using model trees for classification},
        volume = {32},
        year = {1998}
     }

Valid options are:

     -D
      If set, classifier is run in debug mode and
      may output additional info to the console

     -W
      Full name of base classifier.
      (default: weka.classifiers.trees.M5P)

     Options specific to classifier weka.classifiers.trees.M5P:

     -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: 15482 $
Author:
  Eibe Frank (eibe@cs.waikato.ac.nz), Len Trigg (trigg@cs.waikato.ac.nz)
See Also:
  - Serialized Form

- ## Field Summary

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

  `BATCH_SIZE_DEFAULT, NUM_DECIMAL_PLACES_DEFAULT`

- ## Constructor Summary

  Constructors
  Constructor
  Description
  `ClassificationViaRegression()`
  Default constructor.

- ## Method Summary

  Modifier and Type
  Method
  Description
  `void`
  `buildClassifier(Instances insts)`
  Builds the classifiers.
  `double[]`
  `distributionForInstance(Instance inst)`
  Returns the distribution for an instance.
  `double[][]`
  `distributionsForInstances(Instances insts)`
  Returns predictions for a whole set of instances.
  `Capabilities`
  `getCapabilities()`
  Returns default capabilities of the classifier.
  `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.
  `String`
  `globalInfo()`
  Returns a string describing classifier
  `boolean`
  `implementsMoreEfficientBatchPrediction()`
  Return whether this classifier configuration yields more efficient batch prediction
  `static void`
  `main(String[] argv)`
  Main method for testing this class.
  `String`
  `toString()`
  Prints the classifiers.

  ### Methods inherited from class weka.classifiers.SingleClassifierEnhancer

  `classifierTipText, getClassifier, getOptions, listOptions, postExecution, preExecution, setClassifier, setOptions`

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

  `batchSizeTipText, classifyInstance, debugTipText, doNotCheckCapabilitiesTipText, forName, getBatchSize, getDebug, getDoNotCheckCapabilities, getNumDecimalPlaces, makeCopies, makeCopy, numDecimalPlacesTipText, run, runClassifier, setBatchSize, setDebug, setDoNotCheckCapabilities, setNumDecimalPlaces`

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

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

- ## Constructor Details

  - ### ClassificationViaRegression

    public ClassificationViaRegression()
    Default constructor.

- ## Method Details

  - ### globalInfo

    public 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`
    Returns:
      the technical information about this class

  - ### getCapabilities

    public Capabilities getCapabilities()
    Returns default capabilities of the classifier.
    Specified by:
      `getCapabilities` in interface `CapabilitiesHandler`
    Specified by:
      `getCapabilities` in interface `Classifier`
    Overrides:
      `getCapabilities` in class `SingleClassifierEnhancer`
    Returns:
      the capabilities of this classifier
    See Also:
      - `Capabilities`

  - ### buildClassifier

    public void buildClassifier(Instances insts) throws Exception
    Builds the classifiers.
    Specified by:
      `buildClassifier` in interface `Classifier`
    Parameters:
      `insts` - the training data.
    Throws:
      `Exception` - if a classifier can't be built

  - ### distributionForInstance

    public double[] distributionForInstance(Instance inst) throws Exception
    Returns the distribution for an instance.
    Specified by:
      `distributionForInstance` in interface `Classifier`
    Overrides:
      `distributionForInstance` in class `AbstractClassifier`
    Parameters:
      `inst` - the instance to get the distribution for
    Returns:
      the computed distribution
    Throws:
      `Exception` - if the distribution can't be computed successfully

  - ### implementsMoreEfficientBatchPrediction

    public boolean implementsMoreEfficientBatchPrediction()
    Return whether this classifier configuration yields more efficient batch prediction
    Specified by:
      `implementsMoreEfficientBatchPrediction` in interface `BatchPredictor`
    Overrides:
      `implementsMoreEfficientBatchPrediction` in class `AbstractClassifier`
    Returns:
      the base classifier's flag indicating whether it can do batch prediction efficiently

  - ### distributionsForInstances

    public double[][] distributionsForInstances(Instances insts) throws Exception
    Returns predictions for a whole set of instances.
    Specified by:
      `distributionsForInstances` in interface `BatchPredictor`
    Overrides:
      `distributionsForInstances` in class `AbstractClassifier`
    Parameters:
      `insts` - the instances to make predictions for
    Returns:
      the 2D array with results
    Throws:
      `Exception` - if a problem occurs.

  - ### toString

    public String toString()
    Prints the classifiers.
    Overrides:
      `toString` in class `Object`
    Returns:
      a string representation of the classifier

  - ### 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[] argv)
    Main method for testing this class.
    Parameters:
      `argv` - the options for the learner