Package weka.classifiers.functions

# Class GaussianProcesses

java.lang.Object
weka.classifiers.AbstractClassifier
weka.classifiers.RandomizableClassifier
weka.classifiers.functions.GaussianProcesses

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

public class GaussianProcesses extends RandomizableClassifier implements IntervalEstimator, ConditionalDensityEstimator, 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: 15520 $
Author:
  Kurt Driessens (kurtd@cs.waikato.ac.nz), Remco Bouckaert (remco@cs.waikato.ac.nz), Eibe Frank, University of Waikato
See Also:
  - Serialized Form

- ## Field Summary

  Fields
  Modifier and Type
  Field
  Description
  `static final int`
  `FILTER_NONE`
  no filter
  `static final int`
  `FILTER_NORMALIZE`
  normalizes the data
  `static final int`
  `FILTER_STANDARDIZE`
  standardizes the data
  `no.uib.cipr.matrix.Matrix`
  `m_L`
  (negative) covariance matrix in symmetric matrix representation
  `static final Tag[]`
  `TAGS_FILTER`
  The filter to apply to the training data

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

  `BATCH_SIZE_DEFAULT, NUM_DECIMAL_PLACES_DEFAULT`

- ## Constructor Summary

  Constructors
  Constructor
  Description
  `GaussianProcesses()`

- ## Method Summary

  Modifier and Type
  Method
  Description
  `void`
  `buildClassifier(Instances insts)`
  Method for building the classifier.
  `double`
  `classifyInstance(Instance inst)`
  Classifies a given instance.
  `String`
  `filterTypeTipText()`
  Returns the tip text for this property
  `Capabilities`
  `getCapabilities()`
  Returns default capabilities of the classifier.
  `SelectedTag`
  `getFilterType()`
  Gets how the training data will be transformed.
  `Kernel`
  `getKernel()`
  Gets the kernel to use.
  `double`
  `getNoise()`
  Get the value of noise.
  `String[]`
  `getOptions()`
  Gets the current settings of the classifier.
  `double`
  `getStandardDeviation(Instance inst)`
  Gives standard deviation of the prediction at the given instance.
  `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
  `String`
  `kernelTipText()`
  Returns the tip text for this property
  `Enumeration<Option>`
  `listOptions()`
  Returns an enumeration describing the available options.
  `double`
  `logDensity(Instance inst, double value)`
  Returns natural logarithm of density estimate for given value based on given instance.
  `static void`
  `main(String[] argv)`
  Main method for testing this class.
  `String`
  `noiseTipText()`
  Returns the tip text for this property
  `double[][]`
  `predictIntervals(Instance inst, double confidenceLevel)`
  Computes a prediction interval for the given instance and confidence level.
  `void`
  `setFilterType(SelectedTag newType)`
  Sets how the training data will be transformed.
  `void`
  `setKernel(Kernel value)`
  Sets the kernel to use.
  `void`
  `setNoise(double v)`
  Set the level of Gaussian Noise.
  `void`
  `setOptions(String[] options)`
  Parses a given list of options.
  `String`
  `toString()`
  Prints out the classifier.

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

  `getSeed, seedTipText, setSeed`

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

  `batchSizeTipText, debugTipText, distributionForInstance, distributionsForInstances, doNotCheckCapabilitiesTipText, forName, getBatchSize, getDebug, getDoNotCheckCapabilities, getNumDecimalPlaces, getRevision, implementsMoreEfficientBatchPrediction, makeCopies, makeCopy, numDecimalPlacesTipText, postExecution, preExecution, run, runClassifier, setBatchSize, setDebug, setDoNotCheckCapabilities, setNumDecimalPlaces`

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

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

- ## Field Details

  - ### FILTER_NORMALIZE

    public static final int FILTER_NORMALIZE
    normalizes the data
    See Also:
      - Constant Field Values

  - ### FILTER_STANDARDIZE

    public static final int FILTER_STANDARDIZE
    standardizes the data
    See Also:
      - Constant Field Values

  - ### FILTER_NONE

    public static final int FILTER_NONE
    no filter
    See Also:
      - Constant Field Values

  - ### 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:
      - `Capabilities`

  - ### 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