package net.varkhan.data.learn; /** * <b></b>. * <p/> * * @author varkhan * @date 11/30/13 * @time 6:56 PM */ public class SingletonClassifier<K,T,C> implements Classifier<K, T, C> { protected final K key; protected final double cnf; public SingletonClassifier(K key) { this(key, 1); } public SingletonClassifier(K key, double cnf) { this.key=key; this.cnf=cnf; } public K key() { return key; } @Override public K invoke(T obs, C ctx) { return key; } @Override public double confidence(K key, T obs, C ctx) { return this.key.equals(key) ? cnf : (1.0-cnf); } @Override public String toString() { return new StringBuilder().append('(').append(key).append(')').append('@').append(cnf).toString(); } }