Class DiscreteEstimator

java.lang.Object
weka.estimators.Estimator
weka.estimators.DiscreteEstimator
All Implemented Interfaces:
Serializable, 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: 15521 $
Author:
Len Trigg (trigg@cs.waikato.ac.nz)
See Also:
  • Constructor Details

    • DiscreteEstimator

      public DiscreteEstimator()
      No-arg constructor needed to make WEKA's forName() work. Uses one symbol and Laplace value of 1.
    • 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 Details

    • 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 String toString()
      Display a representation of this estimator
      Overrides:
      toString in class 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:
    • getRevision

      public 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 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:
      Exception - if the supplied object can't be aggregated for some reason
    • finalizeAggregation

      public void finalizeAggregation() throws 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:
      Exception - if the aggregation can't be finalized for some reason
    • main

      public static void main(String[] argv)
      Main method for testing this class.
      Parameters:
      argv - should contain a sequence of integers which will be treated as symbolic.