Class GaussianProcesses

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

* Implements Gaussian processes for regression without hyperparameter-tuning. To make choosing an appropriate noise level easier, this implementation applies normalization/standardization to the target attribute as well as the other attributes (if normalization/standardizaton is turned on). Missing values are replaced by the global mean/mode. Nominal attributes are converted to binary ones. Note that kernel caching is turned off if the kernel used implements CachedKernel. *

* BibTeX: *
 * @misc{Mackay1998,
 *    address = {Dept. of Physics, Cambridge University, UK},
 *    author = {David J.C. Mackay},
 *    title = {Introduction to Gaussian Processes},
 *    year = {1998},
 *    PS = {http://wol.ra.phy.cam.ac.uk/mackay/gpB.ps.gz}
 * }
 * 
*

* Valid options are:

* *

 -L <double>
 *  Level of Gaussian Noise wrt transformed target. (default 1)
* *
 -N
 *  Whether to 0=normalize/1=standardize/2=neither. (default 0=normalize)
* *
 -K <classname and parameters>
 *  The Kernel to use.
 *  (default: weka.classifiers.functions.supportVector.PolyKernel)
* *
 -S <num>
 *  Random number seed.
 *  (default 1)
* *
 -output-debug-info
 *  If set, classifier is run in debug mode and
 *  may output additional info to the console
* *
 -do-not-check-capabilities
 *  If set, classifier capabilities are not checked before classifier is built
 *  (use with caution).
* *
 -num-decimal-places
 *  The number of decimal places for the output of numbers in the model (default 2).
* *
 
 * Options specific to kernel weka.classifiers.functions.supportVector.PolyKernel:
 * 
* *
 -E <num>
 *  The Exponent to use.
 *  (default: 1.0)
* *
 -L
 *  Use lower-order terms.
 *  (default: no)
* *
 -C <num>
 *  The size of the cache (a prime number), 0 for full cache and 
 *  -1 to turn it off.
 *  (default: 250007)
* *
 -output-debug-info
 *  Enables debugging output (if available) to be printed.
 *  (default: off)
* *
 -no-checks
 *  Turns off all checks - use with caution!
 *  (default: checks on)
*
Version:
$Revision: 15519 $
Author:
Kurt Driessens (kurtd@cs.waikato.ac.nz), Remco Bouckaert (remco@cs.waikato.ac.nz), Eibe Frank, University of Waikato
See Also:
  • Field Details

    • FILTER_NORMALIZE

      public static final int FILTER_NORMALIZE
      normalizes the data
      See Also:
    • FILTER_STANDARDIZE

      public static final int FILTER_STANDARDIZE
      standardizes the data
      See Also:
    • FILTER_NONE

      public static final int FILTER_NONE
      no filter
      See Also:
    • TAGS_FILTER

      public static final Tag[] TAGS_FILTER
      The filter to apply to the training data
    • m_L

      public no.uib.cipr.matrix.Matrix m_L
      (negative) covariance matrix in symmetric matrix representation
  • Constructor Details

    • GaussianProcesses

      public GaussianProcesses()
  • 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 AbstractClassifier
      Returns:
      the capabilities of this classifier
      See Also:
    • buildClassifier

      public void buildClassifier(Instances insts) throws Exception
      Method for building the classifier.
      Specified by:
      buildClassifier in interface Classifier
      Parameters:
      insts - the set of training instances
      Throws:
      Exception - if the classifier can't be built successfully
    • classifyInstance

      public double classifyInstance(Instance inst) throws Exception
      Classifies a given instance.
      Specified by:
      classifyInstance in interface Classifier
      Overrides:
      classifyInstance in class AbstractClassifier
      Parameters:
      inst - the instance to be classified
      Returns:
      the classification
      Throws:
      Exception - if instance could not be classified successfully
    • predictIntervals

      public double[][] predictIntervals(Instance inst, double confidenceLevel) throws Exception
      Computes a prediction interval for the given instance and confidence level.
      Specified by:
      predictIntervals in interface IntervalEstimator
      Parameters:
      inst - the instance to make the prediction for
      confidenceLevel - the percentage of cases the interval should cover
      Returns:
      a 1*2 array that contains the boundaries of the interval
      Throws:
      Exception - if interval could not be estimated successfully
    • getStandardDeviation

      public double getStandardDeviation(Instance inst) throws Exception
      Gives standard deviation of the prediction at the given instance.
      Parameters:
      inst - the instance to get the standard deviation for
      Returns:
      the standard deviation
      Throws:
      Exception - if computation fails
    • logDensity

      public double logDensity(Instance inst, 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.
      value - the value to make the prediction for.
      Returns:
      the natural logarithm of the density estimate
      Throws:
      Exception - if the density cannot be computed
    • listOptions

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

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

      * Valid options are:

      * *

       -L <double>
       *  Level of Gaussian Noise wrt transformed target. (default 1)
      * *
       -N
       *  Whether to 0=normalize/1=standardize/2=neither. (default 0=normalize)
      * *
       -K <classname and parameters>
       *  The Kernel to use.
       *  (default: weka.classifiers.functions.supportVector.PolyKernel)
      * *
       -S <num>
       *  Random number seed.
       *  (default 1)
      * *
       -output-debug-info
       *  If set, classifier is run in debug mode and
       *  may output additional info to the console
      * *
       -do-not-check-capabilities
       *  If set, classifier capabilities are not checked before classifier is built
       *  (use with caution).
      * *
       -num-decimal-places
       *  The number of decimal places for the output of numbers in the model (default 2).
      * *
       
       * Options specific to kernel weka.classifiers.functions.supportVector.PolyKernel:
       * 
      * *
       -E <num>
       *  The Exponent to use.
       *  (default: 1.0)
      * *
       -L
       *  Use lower-order terms.
       *  (default: no)
      * *
       -C <num>
       *  The size of the cache (a prime number), 0 for full cache and 
       *  -1 to turn it off.
       *  (default: 250007)
      * *
       -output-debug-info
       *  Enables debugging output (if available) to be printed.
       *  (default: off)
      * *
       -no-checks
       *  Turns off all checks - use with caution!
       *  (default: checks on)
      *
      Specified by:
      setOptions in interface OptionHandler
      Overrides:
      setOptions in class RandomizableClassifier
      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 RandomizableClassifier
      Returns:
      an array of strings suitable for passing to setOptions
    • kernelTipText

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

      public Kernel getKernel()
      Gets the kernel to use.
      Returns:
      the kernel
    • setKernel

      public void setKernel(Kernel value)
      Sets the kernel to use.
      Parameters:
      value - the new kernel
    • filterTypeTipText

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

      public SelectedTag getFilterType()
      Gets how the training data will be transformed. Will be one of FILTER_NORMALIZE, FILTER_STANDARDIZE, FILTER_NONE.
      Returns:
      the filtering mode
    • setFilterType

      public void setFilterType(SelectedTag newType)
      Sets how the training data will be transformed. Should be one of FILTER_NORMALIZE, FILTER_STANDARDIZE, FILTER_NONE.
      Parameters:
      newType - the new filtering mode
    • noiseTipText

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

      public double getNoise()
      Get the value of noise.
      Returns:
      Value of noise.
    • setNoise

      public void setNoise(double v)
      Set the level of Gaussian Noise.
      Parameters:
      v - Value to assign to noise.
    • toString

      public String toString()
      Prints out the classifier.
      Overrides:
      toString in class Object
      Returns:
      a description of the classifier as a string
    • main

      public static void main(String[] argv)
      Main method for testing this class.
      Parameters:
      argv - the commandline parameters