Class RegressionByDiscretization

All Implemented Interfaces:
Serializable, Cloneable, Classifier, ConditionalDensityEstimator, IntervalEstimator, BatchPredictor, CapabilitiesHandler, CapabilitiesIgnorer, CommandlineRunnable, OptionHandler, RevisionHandler

public class RegressionByDiscretization extends SingleClassifierEnhancer implements IntervalEstimator, ConditionalDensityEstimator
A regression scheme that employs any classifier on a copy of the data that has the class attribute (equal-width) discretized. The predicted value is the expected value of the mean class value for each discretized interval (based on the predicted probabilities for each interval).

Valid options are:

 -B <int>
  Number of bins for equal-width discretization
  (default 10).
 
 -E
  Whether to delete empty bins after discretization
  (default false).
 
 -F
  Use equal-frequency instead of equal-width discretization.
 -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.J48)
 
 Options specific to classifier weka.classifiers.trees.J48:
 
 -U
  Use unpruned tree.
 -C <pruning confidence>
  Set confidence threshold for pruning.
  (default 0.25)
 -M <minimum number of instances>
  Set minimum number of instances per leaf.
  (default 2)
 -R
  Use reduced error pruning.
 -N <number of folds>
  Set number of folds for reduced error
  pruning. One fold is used as pruning set.
  (default 3)
 -B
  Use binary splits only.
 -S
  Don't perform subtree raising.
 -L
  Do not clean up after the tree has been built.
 -A
  Laplace smoothing for predicted probabilities.
 -Q <seed>
  Seed for random data shuffling (default 1).
Version:
$Revision: 15519 $
Author:
Len Trigg (trigg@cs.waikato.ac.nz), Eibe Frank (eibe@cs.waikato.ac.nz)
See Also:
  • Constructor Details

    • RegressionByDiscretization

      public RegressionByDiscretization()
      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.
      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:
    • buildClassifier

      public void buildClassifier(Instances instances) throws Exception
      Generates the classifier.
      Specified by:
      buildClassifier in interface Classifier
      Parameters:
      instances - set of instances serving as training data
      Throws:
      Exception - if the classifier has not been generated successfully
    • predictIntervals

      public double[][] predictIntervals(Instance instance, double confidenceLevel) throws Exception
      Returns an N * 2 array, where N is the number of prediction intervals. In each row, the first element contains the lower boundary of the corresponding prediction interval and the second element the upper boundary.
      Specified by:
      predictIntervals in interface IntervalEstimator
      Parameters:
      inst - the instance to make the prediction for.
      confidenceLevel - the percentage of cases that the interval should cover.
      Returns:
      an array of prediction intervals
      Throws:
      Exception - if the intervals can't be computed
    • logDensity

      public double logDensity(Instance instance, double value) throws Exception
      Returns natural logarithm of density estimate for given value based on given instance.
      Specified by:
      logDensity in interface ConditionalDensityEstimator
      Parameters:
      inst - the instance to make the prediction for.
      the - value to make the prediction for.
      Returns:
      the natural logarithm of the density estimate
      Throws:
      Exception - if the intervals can't be computed
    • classifyInstance

      public double classifyInstance(Instance instance) throws Exception
      Returns a predicted class for the test instance.
      Specified by:
      classifyInstance in interface Classifier
      Overrides:
      classifyInstance in class AbstractClassifier
      Parameters:
      instance - the instance to be classified
      Returns:
      predicted class value
      Throws:
      Exception - if the prediction couldn't be made
    • listOptions

      public Enumeration<Option> listOptions()
      Returns an enumeration describing the available options.
      Specified by:
      listOptions in interface OptionHandler
      Overrides:
      listOptions in class SingleClassifierEnhancer
      Returns:
      an enumeration of all the available options.
    • setOptions

      public void setOptions(String[] options) throws Exception
      Parses a given list of options.

      Specified by:
      setOptions in interface OptionHandler
      Overrides:
      setOptions in class SingleClassifierEnhancer
      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 SingleClassifierEnhancer
      Returns:
      an array of strings suitable for passing to setOptions
    • numBinsTipText

      public String numBinsTipText()
      Returns the tip text for this property
      Returns:
      tip text for this property suitable for displaying in the explorer/experimenter gui
    • getNumBins

      public int getNumBins()
      Gets the number of bins numeric attributes will be divided into
      Returns:
      the number of bins.
    • setNumBins

      public void setNumBins(int numBins)
      Sets the number of bins to divide each selected numeric attribute into
      Parameters:
      numBins - the number of bins
    • deleteEmptyBinsTipText

      public String deleteEmptyBinsTipText()
      Returns the tip text for this property
      Returns:
      tip text for this property suitable for displaying in the explorer/experimenter gui
    • getDeleteEmptyBins

      public boolean getDeleteEmptyBins()
      Gets whether empty bins are deleted.
      Returns:
      true if empty bins get deleted.
    • setDeleteEmptyBins

      public void setDeleteEmptyBins(boolean b)
      Sets whether to delete empty bins.
      Parameters:
      b - if true, empty bins will be deleted
    • minimizeAbsoluteErrorTipText

      public String minimizeAbsoluteErrorTipText()
      Returns the tip text for this property
      Returns:
      tip text for this property suitable for displaying in the explorer/experimenter gui
    • getMinimizeAbsoluteError

      public boolean getMinimizeAbsoluteError()
      Gets whether to min. abs. error
      Returns:
      true if abs. err. is to be minimized
    • setMinimizeAbsoluteError

      public void setMinimizeAbsoluteError(boolean b)
      Sets whether to min. abs. error.
      Parameters:
      b - if true, abs. err. is minimized
    • useEqualFrequencyTipText

      public String useEqualFrequencyTipText()
      Returns the tip text for this property
      Returns:
      tip text for this property suitable for displaying in the explorer/experimenter gui
    • getUseEqualFrequency

      public boolean getUseEqualFrequency()
      Get the value of UseEqualFrequency.
      Returns:
      Value of UseEqualFrequency.
    • setUseEqualFrequency

      public void setUseEqualFrequency(boolean newUseEqualFrequency)
      Set the value of UseEqualFrequency.
      Parameters:
      newUseEqualFrequency - Value to assign to UseEqualFrequency.
    • estimatorTipText

      public String estimatorTipText()
      Returns the tip text for this property
      Returns:
      tip text for this property suitable for displaying in the explorer/experimenter gui
    • getEstimator

      public UnivariateDensityEstimator getEstimator()
      Get the estimator
      Returns:
      the estimator
    • setEstimator

      public void setEstimator(UnivariateDensityEstimator estimator)
      Set the estimator
      Parameters:
      newEstimator - the estimator to use
    • toString

      public String toString()
      Returns a description of the classifier.
      Overrides:
      toString in class Object
      Returns:
      a description of the classifier as a string.
    • 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