Interface ConditionalEstimator

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

public interface ConditionalEstimator extends RevisionHandler
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: 8034 $
Author:
Len Trigg (trigg@cs.waikato.ac.nz)
  • Method Summary

    Modifier and Type
    Method
    Description
    void
    addValue(double data, double given, double weight)
    Add a new data value to the current 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

    Methods inherited from interface weka.core.RevisionHandler

    getRevision
  • Method Details

    • addValue

      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

      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

      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