ROC
计算公式
ROC的全称为:接收者操作特征(Receiver Operating Characteristic)
横轴:负正类率(False Postive Rate FPR)
纵轴:真正类率(True Postive Rate TPR)
对于FPR和TPR,他们的计算公式为:
T
P
R
=
T
P
T
P
+
F
N
TPR=\frac{TP}{TP+FN}
TPR=TP+FNTP
F
P
R
=
F
P
F
P
+
T
N
FPR=\frac{FP}{FP+TN}
FPR=FP+TNFP
其中
True Positive(真正, TP):正确地预测成正类的个数.
True Negative(真负 , TN):正确地预测成负类的个数.
False Positive(假正, FP):错误地预测成正类的个数,也就是实际样本真值是负类 → 误报 (Type I error).
False Negative(假负 , FN):错误地预测成负类的个数,也就是实际样本真值是正类 →漏报 (Type II error).
所以TP+FN是样本中真值为正类的数量,TPR是正样本预测对的比例,我们希望它越大越好
FP+TN是样本中真值为负类的数量,FPR是负样本预测错的比例,我们希望它越小越好
曲线绘制
当我们使用逻辑回归进行分类时,会得到每个样本分到正类的概率,当我们取不同的阈值的时候,样本的分类情况就会不一样,从而得到一系列随阈值变化的ROC值,这样就绘制出了一条曲线.
我们希望选取最靠左上角的点对应的阈值.
AUC
AUC全称是Area under Curve,ROC曲线下的面积
参考文献:https://blog.youkuaiyun.com/u013385925/article/details/80385873
precision recall
由上一节已经知道了TP, TN, FP和FN
查准率precision = tp/(tp+fp)
分母TP+FP是预测出正类的个数,包括了预测正确的和预测错误的
查全率recall = tp/(tp+fn)
分母TP+FN是所有真实正类的数量
其实容易发现recall = tpr
根据不同的阈值也可以得到不同的precision和recall,进而绘制像以recall为横坐标,precision为纵坐标的曲线
和ROC不同,我们希望两个指标都越接近1越好,因此曲线越往右上角凸出越好
F1 score
F1分数同时兼顾了分类模型的精确率和召回率,可以看作是模型精确率和召回率的一种加权平均