weka.estimators

## Class DiscreteEstimator

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

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

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

  Simple symbolic probability estimator based on symbol counts.
  Version:
    $Revision: 11247 $
  Author:
    Len Trigg (trigg@cs.waikato.ac.nz)
  See Also:
    Serialized Form

- - ### Constructor Summary

    Constructors
    Constructor and Description
    `DiscreteEstimator(int numSymbols, boolean laplace)` Constructor
    `DiscreteEstimator(int nSymbols, double fPrior)` Constructor

  - ### Method Summary

    Methods
    Modifier and Type | Method and Description
    --- | ---
    `void` | `addValue(double data, double weight)` Add a new data value to the current estimator.
    `DiscreteEstimator` | `aggregate(DiscreteEstimator toAggregate)` Aggregate an object with this one
    `void` | `finalizeAggregation()` Call to complete the aggregation process.
    `Capabilities` | `getCapabilities()` Returns default capabilities of the classifier.
    `double` | `getCount(double data)` Get the count for a value
    `int` | `getNumSymbols()` Gets the number of symbols this estimator operates with
    `double` | `getProbability(double data)` Get a probability estimate for a value
    `java.lang.String` | `getRevision()` Returns the revision string.
    `double` | `getSumOfCounts()` Get the sum of all the counts
    `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 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

    - #### DiscreteEstimator

          public DiscreteEstimator(int numSymbols,
                           boolean laplace)

      Constructor
      Parameters:
        `numSymbols` - the number of possible symbols (remember to include 0)
        `laplace` - if true, counts will be initialised to 1

    - #### DiscreteEstimator

          public DiscreteEstimator(int nSymbols,
                           double fPrior)

      Constructor
      Parameters:
        `nSymbols` - the number of possible symbols (remember to include 0)
        `fPrior` - value with which counts will be initialised

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

    - #### getNumSymbols

          public int getNumSymbols()

      Gets the number of symbols this estimator operates with
      Returns:
        the number of estimator symbols

    - #### getCount

          public double getCount(double data)

      Get the count for a value
      Parameters:
        `data` - the value to get the count of
      Returns:
        the count of the supplied value

    - #### getSumOfCounts

          public double getSumOfCounts()

      Get the sum of all the counts
      Returns:
        the total sum of counts

    - #### toString

          public java.lang.String toString()

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

    - #### 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 DiscreteEstimator aggregate(DiscreteEstimator toAggregate)
                                      throws java.lang.Exception

      Description copied from interface: `Aggregateable`
      Aggregate an object with this one
      Specified by:
        `aggregate` in interface `Aggregateable<DiscreteEstimator>`
      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<DiscreteEstimator>`
      Throws:
        `java.lang.Exception` - if the aggregation can't be finalized for some reason

    - #### main

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

      Main method for testing this class.
      Parameters:
        `argv` - should contain a sequence of integers which will be treated as symbolic.