数据预处理是机器学习项目的基石,掌握以下技巧能显著提升模型效果:
1. 缺失值处理
- 直接删除:适用于缺失比例低于10%的场景
- 填充策略:
- 数值型字段:使用均值、中位数或插值法
- 分类字段:采用众数或新建"未知"类别
- 高级方法:通过模型预测缺失值(如KNN、回归)
🔗 数据预处理实战案例
2. 数据标准化
- Z-Score标准化:
(x - μ)/σ
转换到均值为0、标准差为1的分布 - Min-Max规范化:
(x - min)/(max - min)
映射到[0,1]区间 - 对数变换:处理右偏分布数据,如收入、房价
3. 数据编码技巧
类型 | 方法 | 适用场景 |
---|---|---|
分类变量 | 标签编码 | 有序类别 |
分类变量 | 独热编码 | 无序类别 |
文本数据 | TF-IDF | 文本特征提取 |
时间序列 | 时间戳转换 | 转换为时间差或周期特征 |
4. 数据清洗规范
- 异常值检测:箱线图法(IQR)或3σ原则
- 重复值处理:使用
drop_duplicates()
去重 - 格式标准化:统一日期格式为
YYYY-MM-DD
,时间格式为HH:MM:SS
5. 数据增强策略
- 合成数据:使用SMOTE算法处理类别不平衡
- 特征构造:通过组合现有特征生成新特征(如
年龄_平方
) - 时间序列:添加滞后特征或滑动窗口统计量
6. 数据分箱技巧
- 等宽分箱:将数据均匀划分为若干区间
- 等频分箱:确保每个区间包含相同数量的样本
- 基于聚类:使用KMeans进行动态分箱
📌 进阶建议:在处理文本数据时,可结合自然语言处理基础模块中的分词技术进行深度预处理。