文章摘要
数据清洗是将原始杂乱数据整理为规范可用数据的过程,类比烹饪前的食材处理。主要内容包括:1)去除重复数据;2)处理缺失值(删除或填补);3)修正错误数据(如异常年龄值);4)剔除异常值(通过箱线图等方法识别);5)统一标准(单位、格式)。其重要性如同整理房间或清洗蔬果,直接影响后续分析质量。关键技术涉及插值法、统计法及机器学习算法(如孤立森林)。清洗后的优质数据是建模分析的基础。
1. 什么是数据清洗?
数据清洗,就是把“脏乱差”的原始数据,变成“干净整齐”的好数据。
比喻: 就像你买了一筐菜,里面有泥巴、烂叶子、虫子、坏掉的菜,你要把它们挑出来、洗干净,才能下锅做饭。
2. 数据清洗的主要内容
(1)去除重复
比喻:
买菜时,发现有两棵一模一样的白菜,没必要都留着,去掉一个就行。
实际操作:
- 删除数据表中完全重复的行。
(2)处理缺失值
比喻:
有的菜叶子被虫咬了一个洞,或者有的菜根本就不全。你要么把坏的部分切掉,要么用别的菜补上。
实际操作:
- 删除缺失太多的数据
- 用平均值、中位数、众数等补齐缺失
- 用插值法、模型预测等方法补全
(3)纠正错误数据
比喻:
有的菜标签写错了,比如西红柿贴成了辣椒的标签,得纠正过来。
实际操作:
- 发现并修正明显错误(比如年龄写成200岁,性别写成“未知”)
- 统一格式(比如日期格式统一成“2024-06-01”)
(4)去除异常值
比喻:
一筐苹果里混进了一个大石头,这肯定不是你要的,得挑出来。
实际操作:
- 找出和大多数数据差别特别大的“离群点”,根据实际情况决定是否剔除
(5)统一标准
比喻:
有的菜是用斤称的,有的是用克称的,你得统一成一样的单位,才能一起做菜。
实际操作:
- 单位换算、格式统一
3. 形象小结
- 数据清洗就像做饭前的择菜、洗菜、挑菜,把坏的、脏的、重复的、奇怪的都处理掉,剩下的才是能下锅的好菜。
- 如果不清洗,直接下锅,做出来的菜肯定不好吃,甚至有害健康(模型结果不准,甚至出错)。
4. 生活中的例子
- 整理通讯录:有重复的联系人、电话号写错、缺少名字,要一个个核对、修正。
- 收拾房间:把垃圾、破损物品扔掉,把东西归类整理,房间才整洁。
5. 一句话总结
数据清洗就是“择菜洗菜”,是数学建模的第一步,只有数据干净了,模型才能做得好、吃得香!
继续讲解(比如怎么处理缺失值、怎么找异常值)的具体方法
下面我用生动形象的比喻+实际方法,分别讲讲:
- 怎么处理缺失值
- 怎么找异常值
1. 怎么处理缺失值
生活比喻
想象你在做水果拼盘,发现有的水果缺了一块(比如苹果少了一角,香蕉断了一截),你可以:
- 扔掉:这块水果太残缺,直接不要了。
- 补上:用别的水果补上缺口,让拼盘看起来完整。
- 忽略:如果缺的地方不影响整体美观,就当没看见。
实际方法
(1)删除法
- 整行删除:如果某一行数据缺失太多,直接删掉这行。
- 整列删除:如果某一列缺失太多,直接删掉这列。
适用场景:缺失比例很高,或者这部分数据不重要。
(2)填补法
-
用平均值/中位数/众数填补
- 数值型数据:用平均值或中位数补上(比如身高缺失,用全班平均身高补)。
- 分类型数据:用出现最多的类别补上(比如性别缺失,用“男”或“女”中最多的那个补)。
-
用前后数据填补
- 时间序列数据:用前一个或后一个数据补上(比如气温记录缺失,用前一天的气温补)。
-
插值法
- 用缺失值前后的数据做插值(比如线性插值)。
-
模型预测法
- 用其他完整的数据训练模型,预测缺失值。
(3)特殊标记
- 用一个特殊值(比如-9999或“未知”)标记缺失,提醒后续处理。
2. 怎么找异常值
生活比喻
你在一堆鸡蛋里发现一个特别大的“恐龙蛋”,或者在一堆红苹果里混进了一个蓝色的苹果,这些就是“异常值”。
实际方法
(1)简单统计法
-
箱线图(Boxplot)
- 画箱线图,超出“胡须”范围的点就是异常值。
- 具体来说,低于Q1-1.5×IQR或高于Q3+1.5×IQR的点。
-
标准差法
- 计算均值和标准差,超出均值±3倍标准差的点视为异常。
(2)可视化法
- 散点图
- 画出数据点,肉眼看哪些点“离群”很远。
(3)分布法
- 分布拟合
- 假设数据服从某种分布(如正态分布),概率极低的点为异常。
(4)机器学习法
- 孤立森林(Isolation Forest)
- 局部离群因子(LOF)
- 一类支持向量机(One-Class SVM)
这些方法适合数据量大、维度高的情况。
3. 一句话总结
- 处理缺失值就像“补水果拼盘的缺口”,可以扔掉、补上或忽略。
- 找异常值就像“挑出一堆鸡蛋里的恐龙蛋”,可以用统计、画图、甚至用机器学习方法。