淘先锋技术网

首页 1 2 3 4 5 6 7

简介

常见的分类模型评判指标:

  1. 混淆矩阵(Confusion Maxtrix)
  2. ROC曲线
  3. AUC面积

混淆矩阵

混淆矩阵的定义

混淆矩阵就是分别统计分类模型预测正类、错类的个数,然后把结果放在一张表格中表示出来

以二分类问题为例,我们的模型最终要判样本的结果是0 或者1,也可以说是正例(positive)或者反例(negative)

从样本数据中能够直接知道真实情况下,哪些数据结果是positive,哪些结果是negative。同时,我们通过用样本数据跑出分类型模型的结果,也可以知道模型认为这些数据哪些是positive,哪些是negative。

因此,我们可以得到四个指标

  • 真实值是positive,模型预测也是positive的数量,即为真正类(True Positive TP)
  • 真实值是positive,模型预测为negative的数量,即为假负类(False Negative FN)
  • 真实值是negative,模型预测也是negative的数量,即为真负类(True Negative TN)
  • 真实值是negative,模型预测为positive的数量,即为假正类(False Positive FP)
    TP: 正确肯定的数目
    FN: 漏报的数目
    FP: 误报
    TN: 正确拒绝非匹配的数据

TP+FN+TN+FP = 总的样本数量,其中TP和TN为预测正确的数量

将这四个指标放在表格中,就得到如下一个矩阵,它就是混淆矩阵:
在这里插入图片描述

混淆矩阵的指标

在大量数据面前,简单的算个数目很难判定模型的好坏,因此在混淆矩阵的基础上有延伸了四个指标,成为二级指标

  • 准确率(Accuracy)
  • 精准率(Precision)
  • 灵敏度(Sensitive),也叫召回率(Recall)
  • 特异度(Specificity)在这里插入图片描述
    通过上面的二级指标,可以将混淆矩阵的值转换为0到1之间的值,便于标准化的衡量

有时候会将精确率和召回率两个指标放在一起看,就衍生了三级指标

这个指标叫做F1 Score
在这里插入图片描述
其中,P代表precision,R代表recall,F1-Score指标综合了Precison和Recall的产出结果,F1-Score取值为0到1,1代表模型最好,0代表结果最差

ROC曲线

ROC曲线定义

接受者操作特征(receiver operating characteristic),对每个样本作为正例进行预测,会得到每个样本的概率值(score),然后按照概率值排序,以每个概率值作为阈值,分别计算TPR和FPR,最后将FPR为横轴,TPR为纵轴作图,便得到roc曲线
横轴:负正类率(FPR),即1-特异度 Sensitive
FPR = FP/(TN+FP)
纵轴:真正类率(TPR),即灵敏度(召回率)
TPR = TP/(TP+FN)
在这里插入图片描述
我们的目标是让TPR尽可能大,FPR尽可能小,因此理想的模型状态为图中的(0,1)所有正例预测为真正例、所有反例预测为真反例

ROC曲线意义

ROC曲线能很容易的查出任意阈值对学习器的泛化性能影响。

有助于选择最佳的阈值。ROC曲线越靠近左上角,模型的查全率就越高。

可以对不同的学习器比较性能。将各个学习器的ROC曲线绘制到同一坐标中,直观地鉴别优劣,靠近左上角的ROC曲所代表的学习器准确性最高。

AUC面积

(1)在学习器的比较中,若一个学习器的ROC曲线完全被另一个学习器的roc曲线包住,则后面的性能优于前者,如图b,越靠90度方向的越好;
(2)若两个学习器的曲线发生交叉,如图a,则难以判断哪个分类器更优,若需要判断,则可通过roc曲线下面的面积来判断,即AUC面积,面积越大,分类器的效果越好
在这里插入图片描述
sklearn的实现代码放在下一篇文章里