package me.mcnelis.rudder.ml.supervised.classification;
import java.util.Map;
public interface BayesFeature {
/**
* Add a new instance from the training set
*
* @param newInstance
*/
void add(Object newInstance);
/**
* Build a hashmap of the probabilities of each attribute
* value in a class
* @return Hash of attribute value and probability within a class
*/
Map<Object, Double> getProbabilities();
/**
* Get the score of an attribute value compared with the
* known information
*
* @param featureValue
* @return score for this feature in the class
*/
double getClassScore(Object featureValue);
boolean equals(Object o);
int hashCode();
/**
* More important once multithreaded support is added /
* MapReduce is built in.
*
* @param Feature to merge with this feature
* @return success of merger
*/
boolean merge(BayesFeature f);
}