分类的评估:混淆矩阵、精确率、召回率、F1、ROC 和 AUC

SOA SRMSOA PAIFoA CS2按输入的参数计算
对过的标准答案
3 条
覆盖的考试公式
1 个
参数
8 个
开源库
2 个

01当场运行

改一个参数,当场重算

正在用默认参数运行,计算量大的方法最多要 20 秒。

04出处和说明

公式从哪里来,有什么限制

列出参考的教材、论文和考试公式条目。方法的限制和实现上的说明也写在这里。

参考

  • James、Witten、Hastie、Tibshirani:An Introduction to Statistical Learning(第 2 版)4.4.2 表 4.6、4.7
  • Fawcett (2006) An introduction to ROC analysis, Pattern Recognition Letters 27
  • Hanley、McNeil (1982) The meaning and use of the area under a ROC curve, Radiology 143

覆盖的考试公式

  • SML-002混淆矩阵指标(准确率、精确率、召回率、特异度、AUC)SRMPACS2

公式条目按精算考试的公式表整理,编号和中文名是平台自己的。

这个方法算什么

输入实际类别和模型的分数(或直接输入混淆矩阵),在给定阈值上算混淆矩阵、准确率、精确率、召回率(灵敏度)、特异度、F1、阴性预测值,扫一遍所有阈值画 ROC 曲线、算 AUC,并找出使 Youden 指数(灵敏度 + 特异度 − 1)最大的阈值。

说明和限制

  • 正类是 1。精确率回答"判为 1 的里面多少真是 1",召回率回答"真是 1 的里面找出了多少"。正类很少时(欺诈、大额赔案)准确率会误导,要看精确率、召回率和 AUC。
  • AUC 只看排序,和阈值无关;0.5 相当于随机猜。AUC 和洛伦兹曲线的 Gini 系数的关系:二分类时 Gini = 2·AUC − 1(按观测数加权)。
  • 直接输入混淆矩阵时没有分数,不能画 ROC、算 AUC。

数据

没有用数据:按输入的类别和分数计算

开源库和版本

  • scipy1.17.1BSD分布拟合、统计检验
  • numpy2.4.6BSD-3-Clause数值计算

05同族的方法

统计学习,还有 9 个方法

同一个方法族里的其他方法。在智能体里,用一句话就能调用这些方法。

在智能体里这样问“一个分类模型(例如预测是否出险、是否欺诈)好不好:在某个阈值下各类错了多少,精确率和召回率多少,换阈值时怎么取舍,AUC 多少?”