weka.classifiers.bayes
Class DiscreteEstimatorBayes

java.lang.Object
  extended byweka.classifiers.bayes.DiscreteEstimatorBayes
All Implemented Interfaces:
Estimator, Scoreable, java.io.Serializable

public class DiscreteEstimatorBayes
extends java.lang.Object
implements Estimator, Scoreable

Symbolic probability estimator based on symbol counts and a prior.

Version:
$Revision: 1.4 $
Author:
Remco Bouckaert (rrb@xm.co.nz)
See Also:
Serialized Form

Field Summary
private  double[] m_Counts
          Hold the counts
private  double m_fPrior
          Holds the prior probability
private  int m_nSymbols
          Holds number of symbols in distribution
private  double m_SumOfCounts
          Hold the sum of counts
 
Fields inherited from interface weka.classifiers.bayes.Scoreable
AIC, BAYES, ENTROPY, MDL
 
Constructor Summary
DiscreteEstimatorBayes(int nSymbols, double fPrior)
          Constructor
 
Method Summary
 void addValue(double data, double weight)
          Add a new data value to the current estimator.
 double getCount(double data)
          Get a counts 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
 double logScore(int nType)
          Gets the log score contribution of this distribution
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
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
 

Field Detail

m_Counts

private double[] m_Counts
Hold the counts


m_SumOfCounts

private double m_SumOfCounts
Hold the sum of counts


m_nSymbols

private int m_nSymbols
Holds number of symbols in distribution


m_fPrior

private double m_fPrior
Holds the prior probability

Constructor Detail

DiscreteEstimatorBayes

public DiscreteEstimatorBayes(int nSymbols,
                              double fPrior)
Constructor

Parameters:
nSymbols - the number of possible symbols (remember to include 0)
Method Detail

addValue

public void addValue(double data,
                     double weight)
Add a new data value to the current estimator.

Specified by:
addValue in interface 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 interface Estimator
Parameters:
data - the value to estimate the probability of
Returns:
the estimated probability of the supplied value

getCount

public double getCount(double data)
Get a counts for a value

Parameters:
data - the value to get the counts for
Returns:
the count of the supplied value

getNumSymbols

public int getNumSymbols()
Gets the number of symbols this estimator operates with

Returns:
the number of estimator symbols

logScore

public double logScore(int nType)
Gets the log score contribution of this distribution

Specified by:
logScore in interface Scoreable
Parameters:
nType - score type
Returns:
the score

toString

public java.lang.String toString()
Display a representation of this estimator


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.