weka.estimators

## Class DDConditionalEstimator

- java.lang.Object
- - weka.estimators.DDConditionalEstimator

- All Implemented Interfaces:
    RevisionHandler, ConditionalEstimator

      public class DDConditionalEstimator
      extends java.lang.Object
      implements ConditionalEstimator

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

- - ### Constructor Summary

    Constructors
    Constructor and Description
    `DDConditionalEstimator(int numSymbols, int numCondSymbols, boolean laplace)` 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

    - #### DDConditionalEstimator

          public DDConditionalEstimator(int numSymbols,
                                        int numCondSymbols,
                                        boolean laplace)

      Constructor
      Parameters:
        `numSymbols` - the number of possible symbols (remember to include 0)
        `numCondSymbols` - the number of conditioning symbols
        `laplace` - if true, sub-estimators will use laplace

  - ### 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.
      Parameters:
        `argv` - should contain a sequence of pairs of integers which will be treated as symbolic.