分类模型的性能评估

曾经推送过有关逻辑回归的几篇文章,是关于逻辑回归的,前几天也刚把在线课程的逻辑回归部分做了更新,这次逻辑回归部分更新的内容包括模型性能的评估ROC曲线在逻辑回归中的应用。本文先来说说课程中讲到分类模型的性能评估。如下是前面提到的那几篇有关逻辑回归的文章。

阅读下文之前,确保你已经阅读了上面的几篇文章或者已经观看了在线课程《SPSS统计分析》的逻辑回归章节,或者自己了解逻辑回归的相关知识,否则你可能会不知所云

得到分类模型后,用这个模型对测试数据集进行预测,会得到一个分类表,也就是混淆矩阵,就像下图这样。

注意此图给出的是将分类概率临界值分别确定为0.5和0.3的时候的结果。这里的概率是指什么?逻辑回归的预测结果其实是事件的发生概率,比如前面例子中是贷款违约的发生概率,最终一个人是被预测成违约还是不违约,默认是将预测得到的概率值和0.5进行比较,如果大于0.5就认为这个人会违约,否则认为不会。那么如果我们调整这个概率临界值呢?那么相应的预测结果就会发生变化,上图展示了,概率临界值从0.5变化成0.3,分类结果的变化。

OK,有了上面两种分类结果,那种分类比较好?我们该怎么评价呢?这就引出了我们接下来要讨论的分类模型的评估指标:

首先来看正确率,

正确率= 正确预测的正反例数 / 总数

对于P=0.5 :正确率 = (474 + 93)/(474+90+43+93)= 0.81

对于P=0.3 :正确率 = (403 + 141)/(474+90+43+93)= 0.78

如果只看正确率,发现概率分界值确定为0.5比较好。但是只看正确率就可以了吗?好像哪里不对,是不是?作为一个预测贷款人是否会违约的模型,在经济下行的时候,银行会严卡贷款,即使模型最终预测得到某人的违约概率只有0.38,也会被拒绝贷款,这个时候银行将违约的概率阈值调整为0.3,然后就有更多的人被判断为违约。再看上面的混淆矩阵,发现,更多实际上违约的人也被找了出来。所以对于这种场景,我们可能更加关注的是覆盖率,

覆盖率 = 正确预测到的正例数 / 实际正例总数。

对于P=0.5 :覆盖率 = 93/183 = 0.51

对于P=0.3 :覆盖率 = 141 /183 = 0.77

此时发现覆盖率更加合适,所以只考虑正确率是一件比较荒唐的事情。因为只关注正确率的话,实际上会违约,但是没有把它们标记出来的人将会多出20%以上。关于分类模型的评估指标还有如下几个

误分类率 = 错误预测的正反例数 / 总数

负例的覆盖率 = 正确预测到的负例个数 / 实际负例总数

命中率 = 正确预测到的正例数 / 预测正例总数

负例的命中率 = 正确预测到的负例个数 / 预测负例总数

  • 发表于:
  • 原文链接http://kuaibao.qq.com/s/20180223G1978T00?refer=cp_1026
  • 腾讯「云+社区」是腾讯内容开放平台帐号(企鹅号)传播渠道之一,根据《腾讯内容开放平台服务协议》转载发布内容。
  • 如有侵权,请联系 yunjia_community@tencent.com 删除。

同媒体快讯

扫码关注云+社区

领取腾讯云代金券