导入
数据清洗简介
我们将介绍如何处理数据,并将其准备用于后续的分析或建模。
为什么需要数据清洗?
就像瑞士或日本制造的精密手表一样,一个优秀的机器学习模型应当运行顺畅且不包含多余组件。这意味着要避免导致代码无法执行的语法或其他错误,同时移除可能阻碍模型决策路径的冗余变量。
这种对简洁性的追求对于初次编写模型的新手尤为重要。在使用新算法时,应先构建一个最小可行模型,之后再逐步增加复杂性。当你遇到瓶颈时,不妨审视有问题的部分并问自己:“我真的需要它吗?” 如果模型无法处理缺失值或多类型变量,最快速的解决方法就是删除这些变量。这通常能让模型恢复正常运行。待模型能够正常工作后,再回头逐步增加代码的复杂度。
接下来,我们将具体探讨用于准备、精简和优化分析数据的数据清洗技术。
什么是数据清洗?
数据清洗是一个统称,指为数据分析做准备而对数据进行的各种处理操作。
例如,某些算法无法识别特定数据类型,或者在遇到缺失值或非数值输入时会报错。此外,变量可能需要进行缩放,或转换为更兼容的数据类型。
以线性回归为例,它仅能分析连续型变量;而梯度提升算法则要求将离散(分类)变量和连续变量都表示为整数或浮点数形式。
数据中的重复信息、冗余变量以及各类错误,也常常会影响模型提取有价值信息的能力。
在处理数据时,尤其是涉及私有数据的情况下,另一个需要注意的问题是:必须移除可能违反相关数据隐私法规、损害客户、用户及其他利益相关者信任的个人身份标识信息。虽然公开数据集通常不存在此类问题,但在处理私有数据时务必保持警惕。
数据清洗操作
常见的数据清洗操作包括:
- 删除变量
- 独热编码(One-hot encoding)
- 删除缺失值
- 降维
在接下来的课程中,我们将逐一详细讲解每种操作。