F1 score、ROC-AUC
混淆矩阵(Confusion Matrix)
预测 | ||||
---|---|---|---|---|
类1 | 类2 | 类3 | ||
实际 | 类1 | |||
类2 | ||||
类3 |
TP TN FP FN
TP(True Positive): 结果为正例,预测为正例
TN(True Negative): 结果为负例,预测为负例
FP(False Positive):结果为正例,预测为负例
FN(False Negative):结果为负例,预测为正例
精确率(Precision)、召回率(Recall)、准确率(Accuracy)
精确率/查准率(Precision):\(P=\frac{TP}{TP+FP}\) 真正例在所有预测正例所占的比例,精确率高说明检测出的物体中的正确率高
召回率/查全率(Recall):\(R=\frac{TP}{TP+FN}\) 真正例在所有真实正例中所占的比例,召回率关注的是这一类有多少判断正确了,召回率高说明可以出检测更多的物体
准确率(Accuracy)=\(\frac{TP+TN}{TP+TN+FP+FN}\) 检测正确率
\(F_1\)-score和\(F_\beta\)-score
\(F_1\)-score为精确率和召回率的调和平均数
\(F_1= \frac{2(P*R)}{P+R}\)
\(F_\beta=(1+\beta^2)\frac{(P*R)}{\beta^2*P+R}\),其中\(\beta\)为权重,召回率R是精确率P的\(\beta\)倍,\(F_1\)表示权重相等
ROC-AUC、PR
ROC(Receiver Operating Characteristic)
ROC曲线横轴为\(FPR=\frac{FP}{FP+TN}\)(假负例率),纵轴为\(TPR=\frac{TP}{TP+FN}\)
对于同一个threshold,TPR越高或者FPR越低,模型的表现越好。因此,模型的ROC曲线是越向左上方凸起,模型的表现越好。
ROC-AUC(Area Under Curve)
ROC曲线下的面积,显然面积越大,模型表现越好,ROC-AUC的值在[0.5, 1]之间。
PR曲线
横轴为R(召回率),纵轴为P(精确率)
曲线越向右上角凸,模型表现越好。
什么时候使用ROC-AUC?
1.当我们真正关心的是对于排名的预测,而不需要输出经过良好校准的概率时,应该使用它,例如,在搜索、推荐等互联网的排序业务中。而在广告等需要绝对的点击率场景下,AUC并不适合作为评估指标,此时应当用logloss等指标。
2.样本不平衡的时候。因为ROC-AUC对于正负样本的比例不敏感。
3.当我们同样关心Positive Samples和Negative Samples时,我们可以使用ROC-AUC。
什么时候用PR-AUC?
1.当我们想要和模型使用者讨论我们是如何权衡precision和recall的时候。
2.当我们想要选择能够适合商业应用的threshold的时候。
3.当我们更关注Positive Samples的时候。因为Precision和Recall衡量的都是模型找到Positive Samples的能力。