模型评估指标
训练好一个模型后,我们如何知道它“好不好”?这就需要一套科学的评估指标。不同的任务场景需要关注不同的指标,选择正确的指标至关重要。
混淆矩阵 (Confusion Matrix) 与 准确率 (Accuracy)
混淆矩阵是评估分类模型性能的基础工具,它清晰地展示了模型预测结果与真实结果之间的对比。准确率是最直观的指标,表示模型预测正确的样本占总样本的比例。
动手试试:
在下面的混淆矩阵中输入数字,观察各项指标如何实时变化。代码也会同步更新!
准确率 (Accuracy)
87.50%
精确率 (Precision)
89.47%
召回率 (Recall)
85.00%
F1 分数 (F1 Score)
87.18%
精确率 vs. 召回率:一个生动的比喻
假设警察要抓一个城市里的 100 个坏人。精确率和召回率是两种不同的办案策略:
精确率 (Precision) - “宁缺毋滥”
策略:只抓非常有把握的嫌疑人。抓了 10 个人,10 个都是坏人。
结果:精确率 = 10/10 = 100%。但是召回率 = 10/100 = 10%。90 个坏人被漏掉了。
关注点:在所有被预测为“正”的样本中,有多少是真正的“正”。适用于不能冤枉一个好人的场景,如垃圾邮件过滤。
召回率 (Recall) - “宁滥勿缺”
策略:把所有可疑人员都抓起来。抓了 200 个人,其中包含了全部 100 个坏人,但也冤枉了 100 个好人。
结果:召回率 = 100/100 = 100%。但是精确率 = 100/200 = 50%。一半抓的人是无辜的。
关注点:在所有真正的“正”样本中,有多少被成功预测出来了。适用于不能漏掉一个坏人的场景,如疾病诊断。
F1 分数是精确率和召回率的调和平均数,用于在两者之间寻求平衡。
ROC 曲线与 AUC
ROC 曲线 (Receiver Operating Characteristic curve) 是一种评估二元分类器性能的图表。它展示了在不同决策阈值下,真正例率 (TPR, 即召回率) 与假正例率 (FPR) 之间的权衡关系。AUC (Area Under the Curve) 是 ROC 曲线下的面积,其值越接近 1,表示模型性能越好。
真正例率 (TPR)
0.00
假正例率 (FPR)
0.00