精确率与召回率的权衡-F1

发布时间:2026/8/9 4:31:35
精确率与召回率的权衡-F1 在有时候我们希望我们模型的敬群绿和找回率都高高的精确度意味着如果模型诊断出患有罕见疾病很可能该患者确实患有函件疾病并且这是一个准确诊断高召回率意味着如果存在患有个该函件疾病的患者算法可能会正确识别出他们确实患有该疾病但是某种程度上我们要在这两个指标中做出权衡有时候他们是此消彼长的关系。如果我们用逻辑回归去预测患者是否患有该疾病那么算法阿静输出一个0-1之间的数字我们会制定一个阈值大于这个阈值就是患有小于就是不患有该疾病我们通常会设定0.5大于0.5则患有小于0.5则不患有假设我们只想在非常确定的情况下判定患者患有该疾病我们的理念是每当预测患者有该疾病时我们要让他强制接受昂贵的治疗我们只想在非常确定的情况下预测为阳性这种情况下我们会选择设定一个更高的阈值例如大于0.7的时候我们才预测为阳性因此提高阈值会导致更高的精确度但也会导致更低的召回率模型更保守因为我们现在更少的预测了阳性另一方面我们不想错所太多罕见病例因此我们想要在有疑问的的时候预测为阳性这时候我们不轻质患者检查或者治疗但是有疑问建议他们检查治疗一下这时候我们可以减低阈值到0.3这个时候大多数患者被预测为阳性这个时候会导致精确率降低因为现在更宽松了我们可以绘制精确率和召回率的曲线他们存在着此消彼长的情况我们可以根据这个曲线去确定我们的阈值应该是多少从而去平衡精确率和召回率如果想要自动的去权衡精确率和召回率而不是自己去做我们有一个F1值帮助我们选择最佳值或者找到拉你两个值之间的最佳权衡。我们用两个不同的指标来评估算法这是有天战行的当我们有三个算法第二个侧重于准确率第三个侧重于召回率第一个则是做了权衡我们但看两个指标很难去找到合适的模型所以我们要引入一个行的指标F1score这是是调和平均而平均平均容易极值的影响调和平均层侧重于较小的那一个因为事实证明一个算法的精确率和召回率都很低他可能并不是那么的有用是这样计算的线计算两个的倒数相加然后乘以0.5 在计算倒数