weka.classifiers.functions.supportVector

## Class NormalizedPolyKernel

- java.lang.Object
- - weka.classifiers.functions.supportVector.Kernel
  - - weka.classifiers.functions.supportVector.CachedKernel
    - - weka.classifiers.functions.supportVector.PolyKernel
      - - weka.classifiers.functions.supportVector.NormalizedPolyKernel

- All Implemented Interfaces:
    java.io.Serializable, CapabilitiesHandler, OptionHandler, RevisionHandler

      public class NormalizedPolyKernel
      extends PolyKernel

  The normalized polynomial kernel.
  K(x,y) = <x,y>/sqrt(<x,x><y,y>) where <x,y> = PolyKernel(x,y)

  Valid options are:

       -D
        Enables debugging output (if available) to be printed.
        (default: off)

       -C <num>
        The size of the cache (a prime number), 0 for full cache and
        -1 to turn it off.
        (default: 250007)

       -E <num>
        The Exponent to use.
        (default: 1.0)

       -L
        Use lower-order terms.
        (default: no)

  Version:
    $Revision: 14534 $
  Author:
    Eibe Frank (eibe@cs.waikato.ac.nz)
  See Also:
    Serialized Form

- - ### Constructor Summary

    Constructors
    Constructor and Description
    `NormalizedPolyKernel()` default constructor - does nothing
    `NormalizedPolyKernel(Instances dataset, int cacheSize, double exponent, boolean lowerOrder)` Creates a new `NormalizedPolyKernel` instance.

  - ### Method Summary

    All Methods Instance Methods Concrete Methods
    Modifier and Type | Method and Description
    --- | ---
    `double` | `eval(int id1, int id2, Instance inst1)` Computes the result of the kernel function for two instances.
    `java.lang.String` | `getRevision()` Returns the revision string.
    `java.lang.String` | `globalInfo()` Returns a string describing the kernel
    `void` | `setExponent(double value)` Sets the exponent value (must be different from 1.0).
    `java.lang.String` | `toString()` returns a string representation for the Kernel

    - ### Methods inherited from class weka.classifiers.functions.supportVector.PolyKernel

      `exponentTipText, getCapabilities, getExponent, getOptions, getUseLowerOrder, listOptions, setOptions, setUseLowerOrder, useLowerOrderTipText`

    - ### Methods inherited from class weka.classifiers.functions.supportVector.CachedKernel

      `buildKernel, cacheSizeTipText, clean, getCacheSize, numCacheHits, numEvals, setCacheSize`

    - ### Methods inherited from class weka.classifiers.functions.supportVector.Kernel

      `debugTipText, forName, getChecksTurnedOff, getDebug, getDoNotCheckCapabilities, makeCopies, makeCopy, setChecksTurnedOff, setDebug, setDoNotCheckCapabilities`

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

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

- - ### Constructor Detail

    - #### NormalizedPolyKernel

          public NormalizedPolyKernel()

      default constructor - does nothing

    - #### NormalizedPolyKernel

          public NormalizedPolyKernel(Instances dataset,
                                      int cacheSize,
                                      double exponent,
                                      boolean lowerOrder)
                               throws java.lang.Exception

      Creates a new `NormalizedPolyKernel` instance.
      Parameters:
        `dataset` - the training dataset used.
        `cacheSize` - the size of the cache (a prime number)
        `exponent` - the exponent to use
        `lowerOrder` - whether to use lower-order terms
      Throws:
        `java.lang.Exception` - if something goes wrong

  - ### Method Detail

    - #### globalInfo

          public java.lang.String globalInfo()

      Returns a string describing the kernel
      Overrides:
        `globalInfo` in class `PolyKernel`
      Returns:
        a description suitable for displaying in the explorer/experimenter gui

    - #### eval

          public double eval(int id1,
                             int id2,
                             Instance inst1)
                      throws java.lang.Exception

      Computes the result of the kernel function for two instances. If id1 == -1, eval use inst1 instead of an instance in the dataset. Redefines the eval function of PolyKernel.
      Overrides:
        `eval` in class `CachedKernel`
      Parameters:
        `id1` - the index of the first instance in the dataset
        `id2` - the index of the second instance in the dataset
        `inst1` - the instance corresponding to id1 (used if id1 == -1)
      Returns:
        the result of the kernel function
      Throws:
        `java.lang.Exception` - if something goes wrong

    - #### setExponent

          public void setExponent(double value)

      Sets the exponent value (must be different from 1.0).
      Overrides:
        `setExponent` in class `PolyKernel`
      Parameters:
        `value` - the exponent value

    - #### toString

          public java.lang.String toString()

      returns a string representation for the Kernel
      Overrides:
        `toString` in class `PolyKernel`
      Returns:
        a string representaiton of the kernel

    - #### getRevision

          public java.lang.String getRevision()

      Returns the revision string.
      Specified by:
        `getRevision` in interface `RevisionHandler`
      Overrides:
        `getRevision` in class `PolyKernel`
      Returns:
        the revision