ARTICLE DETAIL

资讯详情

深耕郑州网站建设与运营推广的一线实战洞察。

【干货】数据清洗全攻略:处理缺失值、异常值的7种方法

【干货】数据清洗全攻略:处理缺失值、异常值的7种方法 如果你问一个数据分析师工作中最耗时、最头疼的部分是什么答案大概率不是建模不是调参而是数据清洗。这不是夸张。在真实的业务场景里我们花在清洗数据上的时间往往占到整个项目周期的60%到80%。这是因为原始数据从来不会乖乖躺好等着你用。缺失值、异常值、重复数据、格式混乱这些问题不解决后面的分析和建模也没办法进行。而所有这些问题里缺失值和异常值又是最难缠的两个。处理不好模型精度掉得莫名其妙业务报表给出错误结论甚至导致决策方向跑偏。这篇文章我想和你聊聊处理这两个问题的7个实用方法。不是教科书式的搬运而是我自己在项目里反复用过、踩过坑、最后沉淀下来的实战经验。一、先区分问题数据类型拿到一份脏数据别急着上手处理。先问自己这些问题数据到底属于哪一类缺失值相对好理解就是该有的数据没了。表格里空着或者显示为NaN、None甚至有人用“-”、“/”这种占位符糊弄过去。原因很多比如用户没填、采集系统故障、传输过程中丢包等。异常值就复杂一些。它指的是明显偏离正常范围的数据点。但这里面有个关键区别真实的异常本身就是业务的一部分。比如电商大促时的百万级订单金融领域的超高净值交易。这些数据虽然异常但背后有真实的业务逻辑不能简单删除。错误的异常纯粹是录入错误或系统故障。比如年龄填了200岁销售额是负数。这些是干扰项必须处理。区分清楚这两类后面的处理才有方向。二、缺失值处理核心原则处理缺失值的核心原则其实就是能填不删。直接删除是最省事的办法但也最容易丢掉有价值的信息。一方法1直接删除这个方法适用的情况其实很有限●数据量足够大缺失的比例极低比如5%以下删除后不影响整体分布。●某一列的缺失比例太高比如超过80%且本身不是核心字段直接删列更省事。●某条数据缺得太多比如10个字段空了8个留着也没分析价值。但需要小心的是如果你的样本量本身就不大比如总共只有几百条数据删除操作要非常谨慎。一旦删多了后续分析的统计意义就会打折扣。动手前备份永远是第一位的。二方法2填充大多数情况下我们会选择用合理的值把空缺补上。怎么填取决于数据类型和数据分布。●均值填充适用于没有极端值的连续数据。比如用户身高、常规商品的日销量。但如果数据里有极端值比如有几个用户身高2.2米均值就会被带偏。●中位数填充适用于存在极端值的连续数据。比如用户收入、房产价格。中位数对极端值不敏感填出来的值更稳健。●众数填充适用于分类数据。比如用户性别、所在城市、会员等级。缺了就填出现次数最多的那个类别。●常数填充有时候空值本身就有业务含义。比如历史消费金额为空很可能意味着这是一个新用户或未消费用户填0就符合业务逻辑。三方法3插值与模型预测如果数据有时序规律比如每天的销售额、每小时的气温线性插值往往效果不错周一100周三200周二大概率在150左右。更复杂的情况可以考虑用模型预测缺失值。比如用户的年收入缺失但你有他的年龄、职业、学历、所在城市等信息完全可以用KNN或随机森林把这些完整字段作为输入把缺失值算出来。这个方法精度高但成本也高适合核心数据字段。三、异常值处理实用方法一方法43σ原则这个方法有个前提是数据必须服从正态分布。在均值±3倍标准差的范围内覆盖了99.7%的数据落在这个区间外的可以视为异常。比如学生的考试成绩、工厂生产零件的尺寸这些数据天然符合正态分布用3σ原则很合适。但收入、房价这类偏态分布的数据就别用这个方法了因为偏态分布的数据不满足正态分布假设用3σ原则会把尾部正常的业务高点误判为异常。二方法5箱线图法这是我个人最常用的方法因为它不依赖任何数据分布假设。箱线图通过四分位数来划定边界下四分位数Q1、上四分位数Q3两者之差叫四分位距IQR。凡是小于Q1-1.5×IQR或大于Q31.5×IQR的点就被判定为异常值。这个方法的好处是它能直观地展示数据的分布情况而且不受极端值的影响判断标准很稳定。无论是做探索性分析还是正式建模前的数据清洗箱线图都是很可靠的工具。三方法6截尾与缩尾当你确定某些异常值是录入错误但又不想因为删除而损失数据量时可以考虑这两种处理方式。●截尾直接删除异常值。适合明确是错误数据、且占比很小的情况。●缩尾把异常值替换为正常范围的边界值。比如把超过上限的销售额统一改成上限值。这样既保留了数据量又控制了极端值的影响。在金融风控、信用评分这类对数据完整性要求高的场景里这个方法很常用。四方法7分箱处理有些异常值你不但不能删还得把它们单独拎出来重点分析。比如电商分析里那些超级大客户虽然人数少但贡献了很大比例的销售额。把他们单独分成一组分析他们的消费习惯、偏好品类往往能得出很有价值的业务洞察。这种做法比简单粗暴地处理掉异常值要聪明得多。四、数据清洗方法选择总结数据清洗没有标准答案但有经验可以借鉴缺失值看比例。缺得少直接删缺得中等用填充连续数据看分布分类数据用众数缺得多又很重要考虑插值或模型预测。异常值看性质。通用检测首选箱线图正态分布可用3σ原则建模需要保留数据量用截尾或缩尾业务分析需要深度洞察用分箱处理。数据清洗这件事看起来琐碎但恰恰是这些琐碎的工作决定了后续分析的底线在哪里。处理得越扎实后面的路就走得越稳。光靠零散技巧做数据清洗效率低还易踩坑想系统化掌握数据分析全流程提升职场竞争力不妨了解CDA数据分析师认证。CDA是行业公认的专业数据人才认证深耕数据清洗、建模分析等核心技能更是求职加薪、职场进阶的硬核背书。
返回列表