序
- 数据和特征决定了模型和算法的上限,而模型和算法只是逼近这个上限而已;而数据处理是保证数据质量的重要手段。
- 数据分析过程中,总是希望数据“整洁、干净”,然后“理想是美好的,现实是残酷的”,由于系统、人为等原因,我们在数据分析过程中获取到的数据往往充斥着大量的缺失值、异常值等;
- 本文围绕数据处理工作中主要内容展开,本文主要介绍pandas等工具在数据处理中的应用。
一、缺失值处理方法简介
数据的缺失很容易发现,如使用Pandas中DataFrame
的info()
函数,可以清晰查看数据各字段类型、缺失等情况,但是缺失值的处理需要技巧。摸清数据的缺失情况后,可以根据缺失值分布及占比情况来采取处理办法,主要包含删除法、填充法、不处理法等。
1、删除法
- 适用于:缺失值占比较低,且该字段重要性较低;
- 最佳实践:Pandas可以使用
DataFrame
的dropna()
函数删除缺失值。
2、填充法
- 适用于:缺失占比较高,对数据分析重要性较高的字段;
- 最佳实践:Pandas可以使用
DataFrame
的fillna()
函数填充缺失值。
3、不处理法
- 适用于:
- 缺失的字段对于模型训练来说是冗余的
- 算法模型对缺失值容忍度较高
- 最佳实践:不处理
二、填充缺失值的办法
主要有四类做法:
1、专家经验填充法
- 简介:针对小规模的缺失数据,可以结合业务经验,对缺失值填充人为预估的合理的、可能的、预期的值;
- 优点:该方法填充操作简单,直接在对应位置填充相应的值即可;
- 缺点:一般来说,该方法费时;当数据规模很大、空值很多的时候,该方法是不可行的。
2、逻辑分析填充法
- 简介:结合缺失数据本身特点和已有数据,进行逻辑分析,并填充;如,缺失的年龄,可以结合身份证号码填充;
- 优点:经逻辑分析,确定填充值,数据准确性较高;
- 缺点:仅支持那些能够借助其他字段进行逻辑填充的,若缺失字段无法依据其他字段逻辑分析,该方法将不再适用。
3、统计学的填充法
- 简介:按照缺失数据的类型采取统计学的