weka.estimators

## Class KKConditionalEstimator

- java.lang.Object
- - weka.estimators.KKConditionalEstimator

- All Implemented Interfaces:
    RevisionHandler, ConditionalEstimator

      public class KKConditionalEstimator
      extends java.lang.Object
      implements ConditionalEstimator

  Conditional probability estimator for a numeric domain conditional upon a numeric domain.
  Version:
    $Revision: 8034 $
  Author:
    Len Trigg (trigg@cs.waikato.ac.nz)

- - ### Constructor Summary

    Constructors
    Constructor and Description
    `KKConditionalEstimator(double precision)` Constructor

  - ### Method Summary

    All Methods Static Methods Instance Methods Concrete Methods
    Modifier and Type | Method and Description
    --- | ---
    `void` | `addValue(double data, double given, double weight)` Add a new data value to the current estimator.
    `Estimator` | `getEstimator(double given)` Get a probability estimator for a value
    `double` | `getProbability(double data, double given)` Get a probability estimate for a value
    `java.lang.String` | `getRevision()` Returns the revision string.
    `static void` | `main(java.lang.String[] argv)` Main method for testing this class.
    `java.lang.String` | `toString()` Display a representation of this estimator

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

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

- - ### Constructor Detail

    - #### KKConditionalEstimator

          public KKConditionalEstimator(double precision)

      Constructor
      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 given,
                               double weight)

      Add a new data value to the current estimator.
      Specified by:
        `addValue` in interface `ConditionalEstimator`
      Parameters:
        `data` - the new data value
        `given` - the new value that data is conditional upon
        `weight` - the weight assigned to the data value

    - #### getEstimator

          public Estimator getEstimator(double given)

      Get a probability estimator for a value
      Specified by:
        `getEstimator` in interface `ConditionalEstimator`
      Parameters:
        `given` - the new value that data is conditional upon
      Returns:
        the estimator for the supplied value given the condition

    - #### getProbability

          public double getProbability(double data,
                                       double given)

      Get a probability estimate for a value
      Specified by:
        `getProbability` in interface `ConditionalEstimator`
      Parameters:
        `data` - the value to estimate the probability of
        `given` - the new value that data is conditional upon
      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`

    - #### getRevision

          public java.lang.String getRevision()

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

    - #### main

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

      Main method for testing this class. Creates some random points in the range 0 - 100, and prints out a distribution conditional on some value
      Parameters:
        `argv` - should contain: seed conditional_value numpoints