机器学习第十八讲:混淆矩阵 → 诊断模型在医疗检查中的误诊情况
机器学习第十八讲:混淆矩阵 → 诊断模型在医疗检查中的误诊情况
资料取自《零基础学机器学习》。
查看总目录:学习大纲
关于DeepSeek本地部署指南可以看下我之前写的文章:DeepSeek R1本地与线上满血版部署:超详细手把手指南
混淆矩阵是模型诊断的体检报告,能清晰展示分类模型的各种"误诊"类型[^8-1]。通过医疗检查案例详细说明:
一、核心概念(类似疫情筛查报告)
假设医院用AI模型检测1000份血样,实际有50人感染病毒:
示例数据:
| | 实际感染 | 实际健康 |
|----------------|---------|---------|
| 预测感染 | TP=45 | FP=10 |
| 预测健康 | FN=5 | TN=940 | [2][4]
二、关键指标解读(医生最关注的4个数据)
- 假阳性(误诊):健康人被误判为感染者 → 造成过度治疗 [参考材料1]
- 假阴性(漏诊):感染者被误判为健康 → 导致疫情扩散 [参考材料6]
- 精确率 = TP/(TP+FP) = 45/55 ≈ 81.8% → 预测感染者的可信度 [参考材料2]
- 召回率 = TP/(TP+FN) = 45/50 = 90% → 真实感染者的检出率 [参考材料6]
三、医疗场景应用(新冠肺炎检测案例)
案例背景:CT影像AI诊断系统 [参考材料4]
- 数据集:500张肺部CT(300新冠阳性,200阴性)
- 模型预测结果:
# 混淆矩阵数值 [[275, 25], # 真阳性275 | 假阳性25[ 15, 185]] # 假阴性15 | 真阴性185
问题诊断:
- 假阳性问题:25例健康人需复检 → 增加医疗资源消耗
- 假阴性危机:15例漏诊患者成为传染源 → 需提升模型灵敏度[^6]
- 平衡建议:调整阈值使FN<5,即使FP増至40 [参考材料6]
类比说明:就像机场安检,过分严格(低FP)会延误旅客,过于宽松(低FN)会放过危险品,需权衡两者[^8-1]
四、可视化呈现(热力图诊断)
实操步骤:
- 用seaborn绘制热力矩阵 [参考材料3]
sns.heatmap([[275,25],[15,185]], annot=True, cmap="Blues")
- 深色块表示问题区域:
- 左下角(15):急需减少的漏诊病例
- 右上角(25):可容忍的误诊误差[^4]
优化效果:
调参后矩阵变为:
[[285, 35],[ 3, 177]]
- 漏诊从15→3人,误诊从25→35人 → 更适合疫情管控 [参考材料6]
目录:总目录
上篇文章:机器学习第十七讲:PCA → 把100维数据压缩成3D视图仍保持主要特征
下篇文章:机器学习第十九讲:交叉验证 → 用五次模拟考试验证真实水平
[^8-1]《零基础学机器学习》第八章第一/二节评估指标
[2][3][4][6]参见医疗检测案例实践(《零基础学机器学习》心脏病预测章节)