weka.classifiers.functions

## Class GaussianProcesses

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

- All Implemented Interfaces:
    java.io.Serializable, java.lang.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: 12745 $
  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 and Description
    --- | ---
    `static int` | `FILTER_NONE` no filter
    `static int` | `FILTER_NORMALIZE` normalizes the data
    `static int` | `FILTER_STANDARDIZE` standardizes the data
    `no.uib.cipr.matrix.Matrix` | `m_L` (negative) covariance matrix in symmetric matrix representation
    `static 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 and Description
    `GaussianProcesses()`

  - ### Method Summary

    All Methods Static Methods Instance Methods Concrete Methods
    Modifier and Type | Method and Description
    --- | ---
    `void` | `buildClassifier(Instances insts)` Method for building the classifier.
    `double` | `classifyInstance(Instance inst)` Classifies a given instance.
    `java.lang.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.
    `java.lang.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.
    `java.lang.String` | `globalInfo()` Returns a string describing classifier
    `java.lang.String` | `kernelTipText()` Returns the tip text for this property
    `java.util.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(java.lang.String[] argv)` Main method for testing this class.
    `java.lang.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(java.lang.String[] options)` Parses a given list of options.
    `java.lang.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 Detail

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

    - #### GaussianProcesses

          public GaussianProcesses()

  - ### 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 `Classifier`
      Specified by:
        `getCapabilities` in interface `CapabilitiesHandler`
      Overrides:
        `getCapabilities` in class `AbstractClassifier`
      Returns:
        the capabilities of this classifier
      See Also:
        `Capabilities`

    - #### buildClassifier

          public void buildClassifier(Instances insts)
                               throws java.lang.Exception

      Method for building the classifier.
      Specified by:
        `buildClassifier` in interface `Classifier`
      Parameters:
        `insts` - the set of training instances
      Throws:
        `java.lang.Exception` - if the classifier can't be built successfully

    - #### classifyInstance

          public double classifyInstance(Instance inst)
                                  throws java.lang.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:
        `java.lang.Exception` - if instance could not be classified successfully

    - #### predictIntervals

          public double[][] predictIntervals(Instance inst,
                                             double confidenceLevel)
                                      throws java.lang.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:
        `java.lang.Exception` - if interval could not be estimated successfully

    - #### getStandardDeviation

          public double getStandardDeviation(Instance inst)
                                      throws java.lang.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:
        `java.lang.Exception` - if computation fails

    - #### logDensity

          public double logDensity(Instance inst,
                                   double value)
                            throws java.lang.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:
        `java.lang.Exception` - if the density cannot be computed

    - #### listOptions

          public java.util.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(java.lang.String[] options)
                          throws java.lang.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:
        `java.lang.Exception` - if an option is not supported

    - #### getOptions

          public java.lang.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 java.lang.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 java.lang.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 java.lang.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 java.lang.String toString()

      Prints out the classifier.
      Overrides:
        `toString` in class `java.lang.Object`
      Returns:
        a description of the classifier as a string

    - #### main

          public static void main(java.lang.String[] argv)

      Main method for testing this class.
      Parameters:
        `argv` - the commandline parameters