机器学习第九讲:缺失值填补 → 补全问卷漏填的题目,保证数据完整性
资料取自《零基础学机器学习》。
查看总目录:学习大纲
关于DeepSeek本地部署指南可以看下我之前写的文章:DeepSeek R1本地与线上满血版部署:超详细手把手指南
一、问卷漏洞修补比喻 📝(类似材料4中数据集处理逻辑[4])
想象你收集了1000份问卷,但有人漏填了年龄栏,就像饼干罐里缺了几块饼干。我们通过以下步骤修补:
二、常见填补工具箱 🧰
示例:某健康问卷缺失体重数据(参考材料4的乱序处理思想[4])
均值填补法(新手推荐)
- 已收集80人体重:平均60kg
- 将缺失的20人体重自动填60kg
原理类似全班考试缺考按平均分计分
K近邻预测法(智能推荐)
通过年龄、身高预测缺失体重:
三、操作风险警示 ⚠️(参考材料1中评估误差[1])
错误操作 | 后果示例 | 正确处理 |
---|---|---|
随意填0值 | 平均体重被拉低失真 | 使用插值或模型预测 |
删除所有缺失问卷 | 丢失20%有效数据 | 仅删除完全空白问卷[4] |
忽略时间序列特性 | 股票数据出现未来信息泄漏 | 仅用历史数据填补[4] |
四、代码实战演示 💻(基于材料4的Pandas处理[4])
import pandas as pd
# 加载含缺失值的数据
data = pd.read_csv('health_survey.csv')
# 方法1:均值填补(适合数值型)
data['体重'].fillna(data['体重'].mean(), inplace=True)
# 方法2:模型预测(适合复杂关系)
from sklearn.impute import KNNImputer
imputer = KNNImputer(n_neighbors=3)
data[['年龄','身高','体重']] = imputer.fit_transform(data[['年龄','身高','体重']])
五、医疗数据案例 🏥(类似材料2中的分类评估维度[2])
某癌症筛查数据集缺失部分指标:
需验证填补后模型的真正率是否下降(参考材料1中的混淆矩阵评估[1])
六、知识要点总结 📌
- 保形原则:填补后的数据分布应与原始数据一致[4]
- 分层验证:检查填补值在不同性别/年龄组的合理性(参考材料2的分类维度[2])
- 效果追踪:通过模型准确率变化验证填补质量(类似材料1的F1分数评估[1])
目录:总目录
上篇文章:机器学习第八讲:向量/矩阵 → 数据表格的数学表达,如Excel表格转数字阵列
下篇文章:机器学习第十讲:异常值检测 → 发现身高填3米的不合理数据
[1]《零基础学机器学习》的混淆矩阵评估方法
[2]《零基础学机器学习》的分类标准与真值对照
[4]《零基础学机器学习》的Pandas数据清洗流程
**粗体** _斜体_ [链接](http://example.com) `代码` - 列表 > 引用
。你还可以使用@
来通知其他用户。