评价指标
public class PerformanceMeasure {
/**
* 1、 FN:False Negative,被判定为负样本,但事实上是正样本。
* 2、 FP:False Positive,被判定为正样本,但事实上是负样本。
* 3、TN:True Negative,被判定为负样本,事实上也是负样本。
* 4、TP:True Positive,被判定为正样本,事实上也是正样本。
* 5、precesion:查准率
* 即在检索后返回的结果中,真正正确的个数占整个结果的比例。
* precesion = TP/(TP+FP) 。
* 6、 recall:查全率
* 即在检索结果中真正正确的个数 占整个数据集(检索到的和未检索到的)中真正正确个数的比例。
* recall = TP/(TP+FN)即,检索结果中,你判断为正的样本也确实为正的,
* 以及那些没在检索结果中被你判断为负但是事实上是正的(FN)。
* 7、F-Measure
* 是Precision和Recall加权调和平均
* P和R指标有时候会出现的矛盾的情况,这样就需要综合考虑他们,最常见的方法就是F-Measure(又称为F-Score)。
* MCC马修斯相关系数
* 衡量非平衡数据集的指标
* MCC = (TP*TN - FP*FN)/((TP+FP)*(Tp+FN)*(TN+FP)*(TN+FN))^0.5
*/
public double tp;
public double fp;
public double tn;
public double fn;
/**
* 计算马修斯相关系数
*
* @return
*/
public double getCorrelationCoefficient() {
return (tp * fn - fp * fn) / Math.sqrt((tp + fp) * (tp + fn) * (tn + fp) * (tn + fn));
}
public PerformanceMeasure(double tp, double tn, double fp, double fn) {
this.tp = tp;
this.tn = tn;