precision + recall 两者合适的平衡点 F1分数

精确度、召回率

本例中老师给出了两种算法来对病人进行罕见病的预测,人群中患病概率为0.5%

第一种 是二分类算法,患病为1,反之为0,该算法有99%的正确率,误差为1%

 第二种是暴力的默认为0,准确率为99.5%,误差为0.5%

但我们能说第二种是比第一种好的算法吗

在处理偏斜数据集的问题时,我们通常使用不同的误差度量,而不仅仅是分类误差来确定算法的性能

 使用一个二维矩阵来介绍精确率和召回率

横为实际的类别,竖为预测的类别,1代表是

在本例中会有4种组合,老师分别用4种不同的颜色来进行标注

蓝色为实际类别为1,预测类别为1, 真阳,     预测正确

红色为实际类别为1,预测类别为0,假阳,      发生了预测错误

黄色为实际类别为0,预测类别为1,假阴,      发生了预测错误

绿色为实际类别为0,预测类别为0, 真阴,     预测正确

精确率用于计算我们预测所有为1的类别中,  实际上   有多少正确预测

本例中,分母为所有预测为1的患者,分子为真实为1的患者,最后结果为0.75

召回率用于计算我们真实所有为1的类别中,  实际上   有多少正确预测

本例中,分母为所有真实为1的患者,分子为真实为1的患者,最后结果为0.6

我愿称之为    精悍赵叔   ~   精横召竖    ~   确率着看二维矩阵,回率着看二维矩阵

一般来说,零精确率和零召回率的算法不是有用的算法

在我看来

精确率越高,我们对   预测结果的    可信度    也就越高    说话靠谱

召回率越高,我们能   尽最大可能的去找到正确结果的范围    遗漏的少 

我们肯定希望我们的算法同时具有高精确率和高召回率,但更多时候我们需要做出权衡

第一种情况:

假设现在有一种罕见病的治疗费用很贵,我们希望能更加准确的诊断出真正患病的人

如果我们设置判断阈值为0.5,则可能会有一部分患者被误判

而当我们提高阈值为0.7,甚至是0.9,说精确度很提高很多,有更大机率找出患病的人

当提高精度时,我们的精确率得到提高

但召回率较低,因为分母不变,但分子因为精度提高把部分误判患者剔除,分子变小

第二种情况:

假设我们有很多种罕见病,误判导致患者会错失治疗窗口期,本着宁错过误放过的原则

我们此时将阈值下调至0.3,只要认为可能性高于30%就可以预测为1

阈值降低导致我们的精确率降低,召回率提高

因为我们的筛选标准降低,增加了结果的不确定性,可信度降低

但我们却使得在所有患者中我们能识别出更多的患者,分母不变,分子提高

综上所述,我们可以设置阈值来决定我们的精确率和召回率,两者此消彼长

对于许多应用程序,我们要手动选择阈值以权衡精度和召回率

如果想要实现自动权衡精度和召回率,还要另一个为  F1分数 的指标

F1分数

假设现在我们有三种不同的算法,分别得出三种不同的精确率和召回率

三者各有千秋,但平均下来貌似都还行,如果我们选平均值最高的第三种算法

算法三精确度很低,也不是一个理想的算法,所以我们不能简单的根据平均值大小来选择

现在根据F1 分数公式来计算,我们只需要选得分最高的那个就可以了

F1分数公式也可以进一步简化,这个方程也称之为P和R的调和平均数

在本例中算得第一种算法得分最高,所以相对来说第一种更好

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值