在构建分类器,经过大量数据训练测试后,该如何评估这个分类器的效果?这里总结几个常用的衡量分类器表现的指标。
1、Accuracy
对于一份测试集,Accuracy衡量了分类预测label的准确度。
\(Accuracy = \frac{正确标记的测试数据的数量}{总测试数据的数量}\)
例如,预测label为[0,1,0,1],真是label是[1,1,0,0],则Accuracy=50%
下面我们引入混淆矩阵(confusion_matrix)的概念,
TP(True Positive): 预测正,且预测正确
FN(False Negative):预测为负,但预测错误
FP(False Positive): 预测为正,但预测错误
TN(True Negative): 预测为负,且预测正确
那么Accuracy也可以表示为 \(\frac{TP+TN}{TP+FP+FN+TN}\)
2、Error rate
错误率,也就是 \(1-Accuracy = \frac{FP+FN}{TP+FP+FN+TN}\)
3、Precision & Recall
Precision衡量了我们在预测为正的情况下,有多少是预测正确的。
\(Precision = \frac{TP}{TP+FP}\)
Recal衡量了在真实的正类中,我们能预测出多少。
\(Recall = \frac{TP}{TP+FN}\)
这两个指标放在一起是因为通常他们是类似于反比的关系,一个高了另一个可能就很低。
4、F-score
考虑到我们平均模型的时候通常是只采用一个指标,如何结合Precision和Recall呢?就是采用F-score的形式。
\(F-score = \frac{(1+\beta^2)PR}{\beta^2P + R}\)
当\(\beta=1\)时,\(F-score = \frac{2PR}{P + R}\)
5、Sensitivity & Specificity
灵敏度(True Positive Rate) \(Sensitivity = Recall = \frac{TP}{TP+FN}\)
特异性(True Negative Rate) \(Specificity = \frac{TP}{TP+FN}\)
这俩一起介绍是要引入一个下面新的评估方式,ROC曲线和AUC。
6、ROC & AUC
ROC(Receiver Operating Characteristic)曲线是一种用于二分类的经典评估方法,它能形象的展示出模型的判别能力。
横轴:1 - Specificity
纵轴:Sensitivity
图中浅绿色的对角线表示随机猜测,红色曲线表示我们的预测,蓝色的直线表示最理想的分类器结果(即完美预测)
AUC(Area Under the Curve)也就是红色曲线下方的面积,度量了模型的分类能力。
待补充。。。