Package weka.classifiers.meta

# Class ClassificationViaRegression

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

All Implemented Interfaces:
  `Serializable`, `Cloneable`, `CapabilitiesHandler`, `OptionHandler`, `RevisionHandler`, `TechnicalInformationHandler`

public class ClassificationViaRegression extends SingleClassifierEnhancer implements TechnicalInformationHandler
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: 1.27 $
Author:
  Eibe Frank (eibe@cs.waikato.ac.nz), Len Trigg (trigg@cs.waikato.ac.nz)
See Also:
  - Serialized Form

## 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.
`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
`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, setClassifier, setOptions`

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

`classifyInstance, debugTipText, forName, getDebug, makeCopies, makeCopy, setDebug`

### 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`
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 class `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.

Overrides:
  `distributionForInstance` in class `Classifier`
Parameters:
  `inst` - the instance to get the distribution for
Returns:
  the computed distribution
Throws:
  `Exception` - if the distribution can't be computed successfully

### 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 `Classifier`
Returns:
  the revision

### main

public static void main(String[] argv)
Main method for testing this class.

Parameters:
  `argv` - the options for the learner