weka.estimators
Class DKConditionalEstimator

java.lang.Object
  extended byweka.estimators.DKConditionalEstimator
All Implemented Interfaces:
ConditionalEstimator

public class DKConditionalEstimator
extends java.lang.Object
implements ConditionalEstimator

Conditional probability estimator for a discrete domain conditional upon a numeric domain.

Version:
$Revision: 1.4 $
Author:
Len Trigg (trigg@cs.waikato.ac.nz)

Field Summary
private  KernelEstimator[] m_Estimators
          Hold the sub-estimators
private  DiscreteEstimator m_Weights
          Hold the weights for each of the sub-estimators
 
Constructor Summary
DKConditionalEstimator(int numSymbols, double precision)
          Constructor
 
Method Summary
 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
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_Estimators

private KernelEstimator[] m_Estimators
Hold the sub-estimators


m_Weights

private DiscreteEstimator m_Weights
Hold the weights for each of the sub-estimators

Constructor Detail

DKConditionalEstimator

public DKConditionalEstimator(int numSymbols,
                              double precision)
Constructor

Parameters:
numSymbols - the number of symbols
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


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 pairs of symbolic, numeric.