weka.estimators

## Class KernelEstimator

- java.lang.Object
- - weka.estimators.Estimator
  - - weka.estimators.KernelEstimator

- All Implemented Interfaces:
    java.io.Serializable, java.lang.Cloneable, Aggregateable<KernelEstimator>, CapabilitiesHandler, CapabilitiesIgnorer, OptionHandler, RevisionHandler, IncrementalEstimator

      public class KernelEstimator
      extends Estimator
      implements IncrementalEstimator, Aggregateable<KernelEstimator>

  Simple kernel density estimator. Uses one gaussian kernel per observed data value.
  Version:
    $Revision: 9785 $
  Author:
    Len Trigg (trigg@cs.waikato.ac.nz)
  See Also:
    Serialized Form

- - ### Constructor Summary

    Constructors
    Constructor and Description
    `KernelEstimator(double precision)` Constructor that takes a precision argument.

  - ### Method Summary

    All Methods Static Methods Instance Methods Concrete Methods
    Modifier and Type | Method and Description
    --- | ---
    `void` | `addValue(double data, double weight)` Add a new data value to the current estimator.
    `KernelEstimator` | `aggregate(KernelEstimator toAggregate)` Aggregate an object with this one
    `void` | `finalizeAggregation()` Call to complete the aggregation process.
    `Capabilities` | `getCapabilities()` Returns default capabilities of the classifier.
    `double[]` | `getMeans()` Return the means of the kernels.
    `int` | `getNumKernels()` Return the number of kernels in this kernel estimator
    `double` | `getPrecision()` Return the precision of this kernel estimator.
    `double` | `getProbability(double data)` Get a probability estimate for a value.
    `java.lang.String` | `getRevision()` Returns the revision string.
    `double` | `getStdDev()` Return the standard deviation of this kernel estimator.
    `double[]` | `getWeights()` Return the weights of the kernels.
    `static void` | `main(java.lang.String[] argv)` Main method for testing this class.
    `static void` | `testAggregation()`
    `java.lang.String` | `toString()` Display a representation of this estimator

    - ### Methods inherited from class weka.estimators.Estimator

      `addValues, addValues, addValues, addValues, buildEstimator, buildEstimator, clone, debugTipText, doNotCheckCapabilitiesTipText, equals, forName, getDebug, getDoNotCheckCapabilities, getOptions, listOptions, makeCopies, makeCopy, setDebug, setDoNotCheckCapabilities, setOptions, testCapabilities`

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

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

- - ### Constructor Detail

    - #### KernelEstimator

          public KernelEstimator(double precision)

      Constructor that takes a precision argument.
      Parameters:
        `precision` - the precision to which numeric values are given. For example, if the precision is stated to be 0.1, the values in the interval (0.25,0.35] are all treated as 0.3.

  - ### Method Detail

    - #### addValue

          public void addValue(double data,
                               double weight)

      Add a new data value to the current estimator.
      Specified by:
        `addValue` in interface `IncrementalEstimator`
      Overrides:
        `addValue` in class `Estimator`
      Parameters:
        `data` - the new data value
        `weight` - the weight assigned to the data value

    - #### getProbability

          public double getProbability(double data)

      Get a probability estimate for a value.
      Specified by:
        `getProbability` in class `Estimator`
      Parameters:
        `data` - the value to estimate the probability of
      Returns:
        the estimated probability of the supplied value

    - #### toString

          public java.lang.String toString()

      Display a representation of this estimator
      Overrides:
        `toString` in class `java.lang.Object`

    - #### getNumKernels

          public int getNumKernels()

      Return the number of kernels in this kernel estimator
      Returns:
        the number of kernels

    - #### getMeans

          public double[] getMeans()

      Return the means of the kernels.
      Returns:
        the means of the kernels

    - #### getWeights

          public double[] getWeights()

      Return the weights of the kernels.
      Returns:
        the weights of the kernels

    - #### getPrecision

          public double getPrecision()

      Return the precision of this kernel estimator.
      Returns:
        the precision

    - #### getStdDev

          public double getStdDev()

      Return the standard deviation of this kernel estimator.
      Returns:
        the standard deviation

    - #### getCapabilities

          public Capabilities getCapabilities()

      Returns default capabilities of the classifier.
      Specified by:
        `getCapabilities` in interface `CapabilitiesHandler`
      Overrides:
        `getCapabilities` in class `Estimator`
      Returns:
        the capabilities of this classifier
      See Also:
        `Capabilities`

    - #### getRevision

          public java.lang.String getRevision()

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

    - #### aggregate

          public KernelEstimator aggregate(KernelEstimator toAggregate)
                                    throws java.lang.Exception

      Description copied from interface: `Aggregateable`
      Aggregate an object with this one
      Specified by:
        `aggregate` in interface `Aggregateable<KernelEstimator>`
      Parameters:
        `toAggregate` - the object to aggregate
      Returns:
        the result of aggregation
      Throws:
        `java.lang.Exception` - if the supplied object can't be aggregated for some reason

    - #### finalizeAggregation

          public void finalizeAggregation()
                                   throws java.lang.Exception

      Description copied from interface: `Aggregateable`
      Call to complete the aggregation process. Allows implementers to do any final processing based on how many objects were aggregated.
      Specified by:
        `finalizeAggregation` in interface `Aggregateable<KernelEstimator>`
      Throws:
        `java.lang.Exception` - if the aggregation can't be finalized for some reason

    - #### testAggregation

          public static void testAggregation()

    - #### main

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

      Main method for testing this class.
      Parameters:
        `argv` - should contain a sequence of numeric values