评估与指标
F1分数(F1 score)
/ EFF-wun skor /
F1分数把精确率和召回率揉成一个单一的数字,让你不必同时玩弄两个数就能比较模型。由于精确率(你的警报有多干净)和召回率(你漏掉得有多少)通常此消彼长,F1只有在两者都还说得过去时才给高分。F1拿得高,说明你既谨慎又周全——而不是只占其中一头。
技术上讲,F1是精确率和召回率的调和平均数,而不是普通的算术平均。调和平均对失衡有意地很苛刻:如果精确率是100%而召回率只有1%,普通平均会给出一个好看的50%,但F1会落在2%附近。它拒绝让一个漂亮的数字去掩盖一个糟糕透顶的数字,而这恰恰是它的用意。F1取值从0到1,越高越好。
当正类稀有、而你又在乎能不能抓住它时——比如欺诈或疾病——F1是个明智的默认选择。但它并不神圣。它把精确率和召回率等量齐观,这未必符合你真实的代价权衡——如果漏掉一个肿瘤远比误报一次糟糕得多,你或许更该用偏向召回率的F-beta变体。而且像所有单一数字一样,F1悄悄地丢掉了细节;藏在它背后的混淆矩阵,仍然讲着更完整的故事。
模型A:精确率0.90,召回率0.30 → F1=0.45。模型B:精确率0.60,召回率0.60 → F1=0.60。两者的普通平均都是0.60,但F1偏爱更均衡的模型B——正是因为A那一头沉的召回率把它拖了下去。
算术平均相同,F1却不同:调和平均会惩罚失衡。
F1完全无视真反例——也就是大家都同意「不是那个稀有东西」的那些案例。当反例又多又无趣时这没问题,但这也意味着F1对「你在那一大堆容易的样本里避免误报的能力」只字不提。要挑那个真正匹配你失败代价的指标。
又称
另见