import weka.classifiers.Evaluation; //导入方法依赖的package包/类
public void computeSingleRunResults(MethodEvaluation methodEvaluation)
{
Evaluation evaluation = methodEvaluation.getEvaluation();
int hamIndex = HAM.ordinal();
int spamIndex = SPAM.ordinal();
Double hamPrecision = 100.0 * evaluation.precision(hamIndex);
Double spamPrecision = 100.0 * evaluation.precision(spamIndex);
Double weightedPrecision = 100.0 * evaluation.weightedPrecision();
Double hamRecall = 100.0 * evaluation.recall(hamIndex);
Double spamRecall = 100.0 * evaluation.recall(spamIndex);
Double weightedRecall = 100.0 * evaluation.weightedRecall();
Double hamAreaUnderPRC = 100.0 * evaluation.areaUnderPRC(hamIndex);
Double spamAreaUnderPRC = 100.0 * evaluation.areaUnderPRC(spamIndex);
Double weightedAreaUnderPRC = 100.0 * evaluation.weightedAreaUnderPRC();
Double hamAreaUnderROC = 100.0 * evaluation.areaUnderROC(hamIndex);
Double spamAreaUnderROC = 100.0 * evaluation.areaUnderROC(spamIndex);
Double weightedAreaUnderROC = 100.0 * evaluation.weightedAreaUnderROC();
Double hamFMeasure = 100.0 * evaluation.fMeasure(hamIndex);
Double spamFMeasure = 100.0 * evaluation.fMeasure(spamIndex);
Double weightedFMeasure = 100.0 * evaluation.weightedFMeasure();
Double trainTime = (double) (methodEvaluation.getTrainEnd() - methodEvaluation.getTrainStart());
Double testTime = (double) (methodEvaluation.getTestEnd() - methodEvaluation.getTestStart());
addSingleRunResult(Metric.HAM_PRECISION, hamPrecision);
addSingleRunResult(Metric.SPAM_PRECISION, spamPrecision);
addSingleRunResult(Metric.WEIGHTED_PRECISION, weightedPrecision);
addSingleRunResult(Metric.HAM_RECALL, hamRecall);
addSingleRunResult(Metric.SPAM_RECALL, spamRecall);
addSingleRunResult(Metric.WEIGHTED_RECALL, weightedRecall);
addSingleRunResult(Metric.HAM_AREA_UNDER_PRC, hamAreaUnderPRC);
addSingleRunResult(Metric.SPAM_AREA_UNDER_PRC, spamAreaUnderPRC);
addSingleRunResult(Metric.WEIGHTED_AREA_UNDER_PRC, weightedAreaUnderPRC);
addSingleRunResult(Metric.HAM_AREA_UNDER_ROC, hamAreaUnderROC);
addSingleRunResult(Metric.SPAM_AREA_UNDER_ROC, spamAreaUnderROC);
addSingleRunResult(Metric.WEIGHTED_AREA_UNDER_ROC, weightedAreaUnderROC);
addSingleRunResult(Metric.HAM_F_MEASURE, hamFMeasure);
addSingleRunResult(Metric.SPAM_F_MEASURE, spamFMeasure);
addSingleRunResult(Metric.WEIGHTED_F_MEASURE, weightedFMeasure);
addSingleRunResult(Metric.TRAIN_TIME, trainTime);
addSingleRunResult(Metric.TEST_TIME, testTime);
}