package org.shanbo.feluca.classification.common;
import java.util.Properties;
import org.shanbo.feluca.data2.DataEntry;
import org.shanbo.feluca.data2.Vector;
public interface Classifier {
public void loadData(DataEntry data) throws Exception;
public void train() throws Exception;
public void setProperties(Properties prop);
public Properties getProperties();
public void predict(DataEntry test, String resultPath, Evaluator... evaluators) throws Exception;
/**
* predict probabilities of different classes
* @param sample
* @param probabilities
* @throws Exception
*/
public void predict(Vector sample, double[] probabilities) throws Exception;
public void saveModel(String filePath) throws Exception;
public void loadModel(String modelPath, Properties statistic) throws Exception;
public void crossValidation(int fold, Evaluator... evaluators) throws Exception;
}