我是数据科学的新手,当我有一个混淆矩阵时,我试图了解准确性、精确度、召回率、灵敏度和 f1 分数的使用/重要性。
我知道如何计算所有这些,但我无法真正理解每次使用哪一个。
您能否举例说明,例如精度是一个更好的召回指标,或者 f1-score 提供了我无法从其他术语中获得的基本信息?换句话说,在哪些情况下我应该使用上述每个术语?
我是数据科学的新手,当我有一个混淆矩阵时,我试图了解准确性、精确度、召回率、灵敏度和 f1 分数的使用/重要性。
我知道如何计算所有这些,但我无法真正理解每次使用哪一个。
您能否举例说明,例如精度是一个更好的召回指标,或者 f1-score 提供了我无法从其他术语中获得的基本信息?换句话说,在哪些情况下我应该使用上述每个术语?
首先,让我们明确一点,所有这些措施仅用于评估二元分类任务。
理解差异的方法是查看两个类中实例数量(非常)不同的示例,无论是真实类(黄金类)还是预测类。
例如,想象一个任务是在文本中的单词中检测城市名称。这不是很常见,因此在您的测试集中,您可能有 1000 个单词,其中只有 5 个是城市名称(正数)。现在想象两个系统:
系统 A 的准确度为 995/1000 = 99.5%,即使它什么也没做。系统 B 有 990/1000=99.0%。看起来 A 更好,这就是为什么准确性很少能给出完整的画面。
精度表示系统在其积极预测中的正确程度:系统 A 总是表示否定,因此它的精度为 0%。系统 B 有 3/11 = 27%。
召回率表示系统检索到的真阳性实例的比例:系统 A 不检索任何内容,因此它的召回率为 0%。系统 B 有 3/5 = 60%。
F1-score 是一种获得单个值的方法,该值表示准确率和召回率的调和平均值。它用作这两个值的“汇总”,当需要根据性能对不同系统进行排序时,这很方便。
评估措施的选择取决于任务:例如,如果预测 FN 具有危及生命的后果(例如癌症检测),那么召回是至关重要的。相反,如果避免 FP 情况非常重要,那么精确度就更有意义(例如,如果自动导弹系统错误地将商业飞行识别为威胁)。最常见的情况当然是 F1 分数(或更一般地说是 F-score),适用于大多数二元分类任务。