package dist;
import shared.Instance;
/**
* An abstract condtional distribution
* @author Andrew Guillory gtg008g@mail.gatech.edu
* @version 1.0
*/
public abstract class AbstractConditionalDistribution extends AbstractDistribution implements ConditionalDistribution {
/**
* Generate a output given the input
* @param i the input
* @return the output
*/
public Instance sample(Instance i) {
return distributionFor(i).sample();
}
/**
* Generate a output that is most likely given the input
* @param i the input
* @return the output
*/
public Instance mode(Instance i) {
return distributionFor(i).sample();
}
/**
* Probability of an instance
* @parma i the instance
* @return the probability
*/
public double p(Instance i) {
return distributionFor(i).p(i.getLabel());
}
}