混淆矩阵

机器学习算法笔记(二十七):混淆矩阵、精准率与召回率、F1 Score

转自:https://louyu.site/articles/machine-learning/2019/09/?p=1907/

对于回归问题来说,评论算法的好坏我们讨论过 MSE、MAE、RMSE、R Squared。但对于分类算法的评价,我们在前面始终使用“分类准确度”这一个指标。实际上分配准确度在评价分类算法的时候是存在问题的,这时我们就要引入混淆矩阵、精准率与召回率的概念。

一、分类准确度的局限性

如果我们要编写一个癌症预测系统,输入一个人体检的信息指标,可以判断此人是否有癌症,思路当然是收集大量的数据,训练机器学习算法模型,进而完成癌症预测系统。假如最终我们以分类准确度来评价这个算法的好坏,就可以假设以下两种情况:

● 如果该种癌症在人群中产生的概率只有 0.1%,那么即使随便一个系统,预测所有人都是健康,该系统也可达到 99.9% 的准确率;也就是说,即使该系统什么都不做,也可以达到 99.9% 的准确率。

● 如果该种癌症在人群中产生的概率只有 0.01%,此时即使系统什么都不做,其预测准确率也能达到 99.99%,则该机器学习算法的模型是失败的。

由上面的假设可以看到,对于极度偏斜(Skewed Data)的数据,只使用分类准确度是远远不够的(比如上面癌症患者和健康人的人数之比是非常小的)。面对这种极度偏斜的数据,虽然分类准确度可能非常的高,其实算法是不够好的,甚至有些情况下非常烂的算法也能得到非常高的准确度。这时我们就要引入其他指标,在极度偏斜的情况下也能很好反映分类的算法的好坏。

二、混淆矩阵

首先我们引入一个非常基础的工具——混淆矩阵(Confusion Matrix)。

对于二分类问题,有以上混淆矩阵。

● 混淆矩阵中矩阵的最上一行代表预测值,最左列为真实值。

● 0 代表负例(Negative),1 代表正例(Positive)。

 TN、FP、FN、TP:表示预测结果的样本数量

 TN(True Negative):实际值为 Negative,预测值为 Negative,预测 negative 正确。

● FP(False Positive):实际值为 Negative,预测值为 Positive,预测 Positive 错误。

● FN(False Negative):实际值为 Positive,预测值为 Negative,预测 Negative 错误。

● TP(True Positive):实际值为 Positive,预测值为 Positive,预测 Positive 正确。

下面我们继续举预测癌症的例子来具体说明混淆矩阵:

9978:9978 个人本身没有患癌症,同时算法预测他们也没有患癌症。

12:12个人本身没有患癌症,但算法预测他们患有癌症。

2:2个人本身患有癌症,但算法预测他们没有患癌症。

● 8:8个人本身患有癌症,同时算法预测他们也患有癌症。

三、精准率和召回率

我们回到上一节癌症的例子:

接下来我们就要基于上面的例子来讨论两个新的概念——精准率(precision)召回率(recall)

1、精准率

● 定义:预测所关注的事件的结果中,预测正确的概率(共预测了 20 次,8 次正确,12 次错误)。

● 公式:

以预测癌症为例,预测精准率 = TP / (TP + FP) = 8 / (8 + 12) = 40%,代表每做 100个患病的预测(预测值为 1),平均会有 40个是正确的。

简而言之就是在所有的正预测结果中预测对的概率,与第二类错误(以假为真)互补,即1-precision=B

2、召回率(查全率)

● 定义:对所有所关注的类型,将其预测出的概率(共 10 个癌症患者,预测出 8 个)。

● 公式:

以预测癌症为例,召回率 = TP / (TP + FN) = 8 / (8 + 2) = 80%,代表每100个癌症患者中,通过该预测系统,能够成功的找出 80个癌症患者。

简而言之就是某事件真实发生了并成功预测出的概率,可以理解为查全率。与第一类错误(以假为真)互补,即1-precision=a

结合精准率和召回率的概念,我们再来看一下一个预测所有人都健康的预测癌症算法,它的混淆矩阵和准确率、召回率的情况:

可以看到虽然准确率很高,但在精准率和召回率的指标下,这个算法是完全没有用的。

从而我们看出,在极度偏斜的数据中,我们不看准确率,使用精准率和召回率才能更加准确评价分类系统的好坏。

四、编程实现计算准确率和召回率


打印结果应该与自己实现的函数相同。

五、F1 Score

从上文中我们看到,精准率和召回率是两个指标,具体使用算法时我们怎么通过精准率和召回率判断算法优劣?其实这和机器学习领域中大多数关于取舍问题的答案是一样的,我们要根据具体使用场景而定。

● 在预测未来该股票是涨还是跌的情况下,我们要求更精准的找到能够上涨的股票,若出现误判(FP的错误)会造成实实在在金钱损失。此情况下,模型精准率越高越好,即使召回率低一些也没关系——即使我们落下了一些股票的上升周期也并没有关系,我们并不会有金钱上的损失。但如果我们错误判断一个股票会上涨(实际上是下跌)从而投资,那我们就会有实际的损失。在这种情况下,精准率比召回率更重要。

● 在诊断一个人是否患病的情况下,我们要求更全面的找出所有患病的病人,而且尽量不漏掉一个患者;甚至说即使将正常人员判断为病人也没关系,只要不将病人判断成健康人员就好。此情况下,模型召回率越高越好。

还有一些其他情况,我们不用特别关心精准率也不用特别关心召回率,我们希望同时关注这两种指标,这种情况下,我们就使用一种新的指标——F1 Score。F1 Score 实际上是精准率和召回率的调和平均值,用公式表示就是:

如果 1/a = (1/b + 1/c) / 2,则称 a 是 b 和 c 的调和平均值。调和平均值的特点为:|b – c| 越大,a 越小;当 b – c = 0 时,a = b = c,a 达到最大值。具体到精准率和召回率,只有当二者大小均衡时,F1 指标才高。

对于这个有偏的数据,算法运行后的精准率和召回率都比准确率低一些,在这里精准率和召回率更能反映算法的结果。对于有偏的数据,使用逻辑回归进行预测,它的召回率是相对比较低的,所以 F1 Score 被比较低的召回率拉低了,最终的结果只有86.7%。相比准确度的 97.5%,我们倾向于认为 86.7% 这个指标更能反映这个算法的好坏。

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 214,837评论 6 496
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 91,551评论 3 389
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 160,417评论 0 350
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 57,448评论 1 288
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 66,524评论 6 386
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 50,554评论 1 293
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 39,569评论 3 414
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 38,316评论 0 270
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 44,766评论 1 307
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 37,077评论 2 330
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 39,240评论 1 343
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 34,912评论 5 338
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 40,560评论 3 322
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 31,176评论 0 21
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 32,425评论 1 268
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 47,114评论 2 366
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 44,114评论 2 352