对于二分类问题,可将样例根据其真实类别与学习器预测类别的组合划分为真正例(TP),假反例(FN),假正例(FP),真反例(TN),具体分类结果如下 :
TP:预测为正样本,实际也为正样本的特征数
FP:预测为正样本,实际为负样本的特征数
TN:预测为负样本,实际也为负样本的特征数
FN:预测为负样本,实际为正样本的特征
P值(precision)就是查准率或者叫准确率,R值(recall)是召回率或者叫查全率。
查准率P和召回率R分别定义为:
P=TP/(TP+FP)
R=TP/(TP+FN)
查准率关心的是”预测出正例的正确率”即从正反例子中挑选出正例的问题。
查全率关心的是”预测出正例的保证性”即从正例中挑选出正例的问题。
这两个指标应用的场景是不一样的。排序算法或者推荐算法,会更关注准确率;如果预期模型与空预期模型是怕被别人欺骗,会更关注召回率。这时会看一下PR曲线:
若一个学习器的P-R曲线被另一个学习器完全”包住”,则后者的性能优于前者。当存在交叉时,可以计算曲线围住面积,但比较麻烦,平衡点(查准率=查全率,BEP)是一种度量方式。
如果BEP看起来不是很方便的话,可以用F1和Fβ度量来看,他们分别是查准率和查全率的调和平均和加权调和平均。定义如下:
这里主要是看二分类的内容,但是实际上的预测排序模型不只是看二分类,如果一个值不太适合用pr线衡量,就会用roc曲线。
2、ROC和AUCRoc曲线有真正率和假正率,真正率和召回率的算法是差不多。
很多学习器是为测试样本产生一个实值或概率预测,然后将测试的分值与一个阈值比较,若大于阈值分为正类,否则为反类,因此分类过程可以看作选取一个截断点。
曲线的坐标分别为真正例率(TPR)和假正例率(FPR),公式如下:
TPR=TP/[TP+FN] ,代表能将正例分对的概率
FPR=FP/[FP+TN] ,代表将负例错分为正例的概率
下图为ROC曲线示意图,因现实任务中通常利用有限个测试样例来绘制ROC图,因此应为无法产生光滑曲线,如下图所示。
假设有a个正例子,b个反例子,分类阈值非常高,使得所有例子均预测为反例,此时TPR和FPR均为0,在(0,0)处标记一个点,再将分类阈值依次设为每个样例的预测值,即依次将每个例子划分为正例。设前一个坐标为(x,y),若当前为真正例,对应标记点为(x,y+1/a),若当前为假正例,则标记点为(x+1/b,y),然后依次连接各点。
从几何的角度讲,RoC曲线下方的面积越大越大,则模型越优。所以有时候我们用RoC曲线下的面积,即AUC(Area Under Curve)值来作为算法和模型好坏的标准。此外,如果一个图中两个曲线有交叉,则需要计算曲线围住的面积(AUC)来评价性能优劣。
关注:小贝保险
选保险,不焦虑!
网友评论