深度学习(15):倾斜数据集 & 精确率-召回率权衡

在实际机器学习中,我们往往会遇到一个问题:数据严重不均衡(Skewed Dataset)

这会导致:

  • 准确率(Accuracy)完全失效
  • 需要新的评估指标(Precision / Recall / F1)

一、倾斜数据集(Skewed Dataset)

1.1 什么是倾斜数据集?

某一类数据远多于另一类

举例

垃圾邮件检测:

  • 99%:正常邮件
  • 1%:垃圾邮件

1.2 为什么 Accuracy 会失效?

假设模型什么都不做:全部预测为"正常邮件"

那么:

  • 准确率 = 99% (看起来很高)
  • 实际效果 = 完全没用

1.3 正确做法:使用新的评估指标

我们需要关注:

  • 精确率(Precision)
  • 召回率(Recall)

1.4 混淆矩阵(Confusion Matrix)

定义:

预测正类 预测负类
实际正类 TP FN
实际负类 FP TN

1.5 小总结

倾斜数据集下:

Accuracy 不可靠

必须使用 Precision / Recall


二、精确率(Precision)与召回率(Recall)

2.1 精确率(Precision)

预测为正的里面,有多少是真的?

举例

垃圾邮件检测:

  • 预测为垃圾邮件:100封
  • 实际垃圾邮件:80封

Precision = 80%

2.2 召回率(Recall)

实际为正的,有多少被找出来?

举例

实际垃圾邮件有100封:

  • 找到80封

Recall = 80%

2.3 一句话理解

  • Precision:预测准不准
  • Recall:找得全不全

三、Precision vs Recall 的权衡(Trade-off)

3.1 为什么会冲突?

因为"判定标准(阈值)"不同

情况一:严格判断(高门槛)

  • 只有非常确定才判为正类

结果:

  • Precision ↑(更准)
  • Recall ↓(漏掉很多)

情况二:宽松判断(低门槛)

  • 只要有一点可能就判为正类

结果:

  • Recall ↑(找得更多)
  • Precision ↓(误判变多)

3.2 举例

医疗诊断(癌症检测)更重要的是:

  • Recall(召回率)

因为:

  • 宁可误诊(FP)
  • 也不能漏诊(FN)

垃圾邮件过滤 更重要的是:

  • Precision(精确率)

因为:

  • 不能把正常邮件当垃圾

3.3 可视化理解(阈值变化)

阈值高 → Precision高,Recall低

阈值低 → Recall高,Precision低

3.4 F1 Score(折中指标)

当你想平衡两者:

特点

  • 同时考虑 Precision 和 Recall
  • 常用于不均衡数据集

3.5 小总结

Precision 和 Recall 没有"谁更好",只有:

哪个更符合业务目标


四、实战策略总结

4.1 遇到倾斜数据集怎么办?

不看 Accuracy,看 Precision / Recall / F1


4.2 如何选择指标?

场景 更重要指标
医疗诊断 Recall
风控(诈骗检测) Recall
搜索推荐 Precision
垃圾邮件 Precision

4.3 调参方向

通过"调整阈值"控制:

  • 提高 Precision → 提高阈值
  • 提高 Recall → 降低阈值

五、最终总结

在不平衡数据中:

"预测对多少"不重要,重要的是"对的是什么"

相关推荐
墨流觞雪2 分钟前
从 76,175 字符到 4,507:我把 AI 的记忆拆成四层
人工智能
DisonTangor12 分钟前
FLUX 3 Image Klein 中文全解:5.6B 开源文生图与图像编辑模型实战指南
人工智能·ai作画·开源·aigc·1024程序员节
匠测AI说16 分钟前
AI for Testing 提效实战 · 执行自动化(六):轻量 Mock 编排实战——WireMock 手工落地 + AI 加速
人工智能·测试
我是小邵18 分钟前
1024 特辑:我写过的 Skill,正在变成 AI 编程的基础设施
人工智能·agent·ai编程·skill·知识沉淀·协作·开发者工具
八苦28 分钟前
本地视频 → 序列帧动画精灵图
人工智能
一枕槐安48729 分钟前
从 58% 爬回 84%:我们用 Contextual Retrieval + 混合检索 + 条件重排,修好了 RAG 最脏的两类病
人工智能·ai
程序员小袁34 分钟前
05-实现一个Agent从最小闭环开始
人工智能
deepdata_cn37 分钟前
AI正在改写逆向工程的成本曲线
人工智能·软件逆向
解决小子39 分钟前
【虚幻引擎】【C++】【GAS框架】构建角色基类、属性集、数值钳制
c++·笔记·游戏引擎·虚幻·gas·能力系统
2601_9679801140 分钟前
奇异值分解(SVD)理论与python实现
机器学习·奇异值分解·图像压缩·矩阵分解·python实现