数据清洗
数据清洗与预处理是指在数据挖掘和机器学习过程中,对数据进行清洗、整理、转换和准备的过程。数据清洗与预处理的目的是提高数据质量,减少噪声和错误,从而提高机器学习模型的性能。
数据清洗简单步骤
一、审查
得到数据之后,首先需要对数据进行全面的审查,以了解数据的结构、内容和质量。这包括检查数据的类型、缺失值、异常值、重复记录、格式不一致等问题。便于后续操作的进行。
二、缺失值处理
缺失值是数据集中常见的问题。处理缺失值的方法包括:
- 删除:直接删除包含缺失值的行或列,适用于缺失值较少的情况。
- 填充:使用均值、中位数、众数或特定值(如0)填充缺失值。
- 插值:对于时间序列数据,可以使用插值方法(如线性插值)来填充缺失值。
- 预测模型:使用机器学习模型预测缺失值。
三、异常值检测与处理
一组数据通常存在个别异常值,可能是由于数据录入错误、测量误差、仪器误差或极端情况下的观测值。处理异常值的方法包括:
- 删除:直接删除异常值。
- 转换:对数据进行对数转换或其他数学变换,以减少异常值的影响。
- 分箱:将数据分到不同的箱子中,减少异常值的影响。
- 截断:一般运用区间截断平均法将异常值截断到某个合理的范围。
四、 数据类型转换
确保数据集中所有列的数据类型正确无误,例如将字符串转换为日期格式,或将分类数据转换为数值型数据
五、 数据格式统一
统一数据格式,例如日期格式、电话号码格式、地址格式等,以确保数据的一致性。
六、重复数据处理
检测并处理重复的记录。重复数据可能是由于数据合并或多次录入造成的。处理方法通常是删除重复的记录。
七、 数据整合
如果数据来自多个源,需要整合这些数据,确保数据的一致性和完整性。
八、最终审查
在数据清洗完成后,进行最终审查,确保所有问题都已解决,数据已准备好用于分析。
数据清洗是一个迭代的过程,可能需要多次重复上述步骤,直到数据集达到可接受的质量标准。在实际操作中,数据清洗可能涉及复杂的逻辑和算法,需要结合领域知识和数据分析技能来完成。
九、数据清洗总结
数据清洗及预处理是极其重要的,其中有一些难点,如数据量过大或过小、数据质量不好、数据的可靠性和完整性缺失等。对于缺失值和异常值的处理是至关重要的,这可能直接关系到后续训练模型的质量和速度,我们可以采用numpy和pandas中的库函数、某些数学方法填补或修改值解决这些问题。最后一定要对数据进行校验和审查,确保完整性和可靠性。
特征选择
什么是特征选择?作用是什么?
特性选择是选择与ML模型更加一致、非冗余和更相关的基本特性的过程。在ML项目中使用特性选择是必要的,因为:
- 它有助于减少数据集的大小和复杂性,并且可以使用更少的时间来训练模型及进行推理;
- 具有较少特征的简单机器学习模型更容易理解和解释;
- 它可以避免过度拟合。更多特征使模型变得更加复杂,并带来维度灾难(误差随着特征数量的增加而增加)。
特征选择分为三种方式:
- Filter(过滤式): 根据方差、阈值选择
- Embedded(嵌入式): 正则化、决策树
- Wrapper(包裹式): 不常用