分类任务如何评估?

在构建分类器,经过大量数据训练测试后,该如何评估这个分类器的效果?这里总结几个常用的衡量分类器表现的指标。

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)也就是红色曲线下方的面积,度量了模型的分类能力。

分类任务如何评估?

待补充。。。

上一篇:小tp:工作上的想法


下一篇:阿里云部署OSS对接TP项目