weka.classifiers.meta
Class ClassificationViaRegression

java.lang.Object
  extended by weka.classifiers.Classifier
      extended by weka.classifiers.SingleClassifierEnhancer
          extended by weka.classifiers.meta.ClassificationViaRegression
All Implemented Interfaces:
java.io.Serializable, java.lang.Cloneable, CapabilitiesHandler, OptionHandler, 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.26 $
Author:
Eibe Frank (eibe@cs.waikato.ac.nz), Len Trigg (trigg@cs.waikato.ac.nz)
See Also:
Serialized Form

Constructor Summary
ClassificationViaRegression()
          Default constructor.
 
Method Summary
 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.
 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[] argv)
          Main method for testing this class.
 java.lang.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 Detail

ClassificationViaRegression

public ClassificationViaRegression()
Default 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
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 java.lang.Exception
Builds the classifiers.

Specified by:
buildClassifier in class Classifier
Parameters:
insts - the training data.
Throws:
java.lang.Exception - if a classifier can't be built

distributionForInstance

public double[] distributionForInstance(Instance inst)
                                 throws java.lang.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:
java.lang.Exception - if the distribution can't be computed successfully

toString

public java.lang.String toString()
Prints the classifiers.

Overrides:
toString in class java.lang.Object
Returns:
a string representation of the classifier

main

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

Parameters:
argv - the options for the learner