ROC与AUC随记

developers.google.com/machine-lea…算法

混淆矩阵

咱们作出如下定义:优化

  • “狼来了”是正类别。
  • “没有狼”是负类别。

咱们可使用一个 2x2 混淆矩阵来总结咱们的“狼预测”模型,该矩阵描述了全部可能出现的结果(共四种): google

行是预测结果,列是真实结果

真正例是指模型将正类别样本正确地预测为正类别。一样,真负例是指模型将负类别样本正确地预测为负类别。3d

假正例是指模型将负类别样本错误地预测为正类别,而假负例是指模型将正类别样本错误地预测为负类别。cdn

准确率

准确率是指咱们的模型预测正确的结果所占的比例。正式点说,准确率的定义以下: blog

对于二元分类,也能够根据正类别和负类别按以下方式计算准确率:
其中,TP = 真正例,TN = 真负例,FP = 假正例,FN = 假负例。

精确率

在被识别为正类别的样本中,确实为正类别的比例是多少?排序

精确率的定义以下: get

召回率

在全部正类别样本中,被正确识别为正类别的比例是多少?数学

从数学上讲,召回率的定义以下: it

F1-score

反映了模型的稳健型

ROC 曲线

ROC 曲线(接收者操做特征曲线)是一种显示分类模型在全部分类阈值下的效果的图表。该曲线绘制了如下两个参数:

  • 真正例率
  • 假正例率

真正例率 (TPR) 是召回率的同义词,所以定义以下:

假正例率 (FPR) 的定义以下:

ROC 曲线用于绘制采用不一样分类阈值时的 TPR 与 FPR。下降分类阈值会致使将更多样本归为正类别,从而增长假正例和真正例的个数。下图显示了一个典型的 ROC 曲线。

为了计算 ROC 曲线上的点,咱们可使用不一样的分类阈值屡次评估逻辑回归模型,但这样作效率很是低。幸运的是,有一种基于排序的高效算法能够为咱们提供此类信息,这种算法称为曲线下面积。

曲线下面积:ROC 曲线下面积

AUC (Area Under Curve) 被定义为ROC曲线下的面积,显然这个面积的数值不会大于1。又因为ROC曲线通常都处于y=x这条直线的上方,因此AUC的取值范围通常在0.5和1之间。使用AUC值做为评价标准是由于不少时候ROC曲线并不能清晰的说明哪一个分类器的效果更好,而做为一个数值,对应AUC更大的分类器效果更好。

曲线下面积表示“ROC 曲线下面积”。也就是说,曲线下面积测量的是从 (0,0) 到 (1,1) 之间整个 ROC 曲线如下的整个二维面积

曲线下面积对全部可能的分类阈值的效果进行综合衡量。曲线下面积的一种解读方式是看做模型将某个随机正类别样本排列在某个随机负类别样本之上的几率。如下面的样本为例,逻辑回归预测从左到右以升序排列:

曲线下面积因如下两个缘由而比较实用:

  • 曲线下面积的尺度不变。它测量预测的排名状况,而不是测量其绝对值。
  • 曲线下面积的分类阈值不变。它测量模型预测的质量,而不考虑所选的分类阈值。

不过,这两个缘由都有各自的局限性,这可能会致使曲线下面积在某些用例中不太实用:

  • 并不是老是但愿尺度不变。 例如,有时咱们很是须要被良好校准的几率输出,而曲线下面积没法告诉咱们这一结果。

  • 并不是老是但愿分类阈值不变。 在假负例与假正例的代价存在较大差别的状况下,尽可能减小一种类型的分类错误可能相当重要。例如,在进行垃圾邮件检测时,您可能但愿优先考虑尽可能减小假正例(即便这会致使假负例大幅增长)。对于此类优化,曲线下面积并不是一个实用的指标。

相关文章
相关标签/搜索