数据清洗是决定模型上限的关键前置环节,需识别处理缺失值、统一异常值判定、修复结构混乱、校验一致性,并强调理解数据生成逻辑比单纯修复更重要。

数据清洗不是“修修补补”,而是决定模型上限的关键前置环节。干净、一致、有业务意义的数据,才能让算法真正学到规律。
识别并处理缺失值:别只填均值
缺失不是随机噪声,背后常有业务逻辑。比如电商用户画像中“年收入”缺失,可能对应学生或隐私敏感人群,直接用均值填充反而引入偏差。
- 先统计缺失模式:按字段、按样本、按时间窗口(如日志数据中某时段集中缺失)画缺失热力图
- 区分缺失机制:是随机丢失(MAR)、完全随机(MCAR),还是因变量本身导致(MNAR)?后者需建模预测(如用XGBoost预测是否缺失)
- 填充策略按场景选:类别型用众数+“Unknown”新类;数值型用KNN插补或时序前向填充;高维稀疏特征可改用“是否缺失”作为二值特征
统一异常值判定标准:拒绝主观阈值
用固定倍数IQR或3σ一刀切,容易误杀真实长尾行为(比如大客户单笔订单额远超均值)。重点看它是否违背业务规则或数据生成逻辑。
- 结合业务定义硬约束:如“用户年龄不能120”,“订单时间不能早于系统上线日”
- 用孤立森林或LOF等无监督方法检测局部异常,比全局统计更适应分布偏斜场景
- 对疑似异常不急于删除:可标记为“outlier_flag”,后续在模型中作为特征或分组训练
修复结构混乱:从原始日志到规整表格
真实数据常混杂JSON嵌套、多级分割符、非标准时间格式。清洗目标不是“看起来整齐”,而是让每行代表一个明确业务实体(如一次点击、一笔交易)。
版权声明:除非特别标注,否则均为本站原创文章,转载时请以链接形式注明文章出处。
还木有评论哦,快来抢沙发吧~