weka.estimators
Interface ConditionalEstimator

All Known Implementing Classes:
DDConditionalEstimator, DKConditionalEstimator, DNConditionalEstimator, KDConditionalEstimator, KKConditionalEstimator, NDConditionalEstimator, NNConditionalEstimator

public interface ConditionalEstimator

Interface for conditional probability estimators. Example code:

   NNConditionalEstimator newEst = new NNConditionalEstimator();

   // Create 50 random points and add them
   Random r = new Random(seed);
   for(int i = 0; i < 50; i++) {
     int x = Math.abs(r.nextInt() % 100);
     int y = Math.abs(r.nextInt() % 100);
     System.out.println("# " + x + "  " + y);
     newEst.addValue(x, y, 1);
   }

   // Pick a random conditional value
   int cond = Math.abs(r.nextInt() % 100);
   System.out.println("## Conditional = " + cond);

   // Print the probabilities conditional on that value
   Estimator result = newEst.getEstimator(cond);
   for(int i = 0; i <= 100; i+= 5) {
     System.out.println(" " + i + "  " + result.getProbability(i));
   }
 

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

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 for a value conditional on another value
 

Method Detail

addValue

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

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

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 for a value conditional on another value

Parameters:
data - the value to estimate the probability of
given - the new value that data is conditional upon
Returns:
the estimator for the supplied value given the condition