二分类:准确率P(precision),召回率R(recal),F1度量
TP(真正例),FP(假正例),TN(真反例),FN(假反例)
P = T P T P + F P P = \frac{TP}{TP + FP} P=TP+FPTP, R = T P T P + F N R = \frac{TP}{TP + FN} R=TP+FNTP, F 1 = 2 ∗ P ∗ R P + R F1 = \frac{2 * P * R}{P + R} F1=P+R2∗P∗R
ROC
针对二分类问题:
(1)若一个实例是正类,被预测为正类,即为真正类(True Postive TP)
(2)若一个实例是正类,被预测成为负类,即为假负类(False Negative FN)
(3)若一个实例是负类,被预测成为正类,即为假正类(False Postive FP)
(4)若一个实例是负类,被预测成为负类,即为真负类(True Negative TN)
真正类率(True Postive Rate):代表分类器预测的正类中实际正实例占所有正实例的比例。Sensitivity
T
P
R
=
T
P
(
T
P
+
F
N
)
TPR=\frac{TP}{(TP+FN)}
TPR=(TP+FN)TP
负正类率(False Postive Rate):代表分类器预测的正类中实际负实例占所有负实例的比例。1-Specificity
F
P
R
=
F
P
(
F
P
+
T
N
)
FPR=\frac{FP}{(FP+TN)}
FPR=(FP+TN)FP
横轴FPR:1-TNR,1-Specificity,FPR越大,预测正类中实际负类越多。
纵轴TPR:Sensitivity(正类覆盖率),TPR越大,预测正类中实际正类越多。
理想目标:TPR=1,FPR=0,即图中(0,1)点,故ROC曲线越靠拢(0,1)点,越偏离45度对角线越好,Sensitivity、Specificity越大效果越好。
画ROC:
假设已经得出一系列样本被划分为正类的概率,然后按照大小排序,下图是一个示例,图中共有20个测试样本,“Class”一栏表示每个测试样本真正的标签(p表示正样本,n表示负样本),“Score”表示每个测试样本属于正样本的概率。
将“Score”值作为阈值threshold;可画以下曲线:
AUC:ROC曲线下的面积
首先对score从大到小排序,然后令最大score对应的sample 的rank为n,第二大score对应sample的rank为n-1,以此类推。然后把所有的正类样本的rank相加,再减去M+1种两个正样本组合的情况。得到的就是所有的样本中有多少对正类样本的score大于负类样本的score。然后再除以M×N。即: