/* Copyright 2003, Carnegie Mellon, All Rights Reserved */ package edu.cmu.minorthird.classify; import java.io.Serializable; /** * A Classifier which associates instances with a real number. * Positive numbers indicate a positive class, negative numbers * indicate a negative class. * * @author William Cohen */ abstract public class BinaryClassifier implements Classifier,Serializable { static private final long serialVersionUID = 1; public ClassifierLearner classifierLearner = null; public void setClassifierLearner(ClassifierLearner cl) { this.classifierLearner = cl; } public ClassifierLearner getClassifierLearner() { return classifierLearner; } @Override public ClassLabel classification(Instance instance) { double s = score(instance); return s>=0 ? ClassLabel.positiveLabel(s) : ClassLabel.negativeLabel(s); } /** Get the weight for an instance being in the positive class. */ abstract public double score(Instance instance); }