数据清洗是数据分析过程中不可或缺的一个环节,通过数据清洗,可以统一数据的格式,减少数据存在的多种问题,以提高分析过程的效率并且使分析结果有所保证。
在收集数据或者中,我们获取到的数据可能是这样的:
亦或是这样的:
还可能是这样的:
这个时候我们需要进行的步骤就是数据清洗,数据清洗的对象主要是:缺失值、异常值、重复值和噪音处理。
缺 失 值
粗糙数据中由于缺少信息而造成的数据的聚类、分组、删失或截断被称为【缺失值】。
它指的是现有数据集中某个或某些属性的值是不完全的。
处理缺失值的方法有:
1 直接删除(Delete directly)
适用于样本较大的情况,样本较小时,可能会影响最终的分析结果 。
2 估算(Estimation)
数据均匀,均值法填充;数据分布倾斜,中位数填充;根据数据的分布情况,可以采用均值、中位数、或者众数进行数据填充。
3 插补法(Interpolation method)
·随机插补法:从总体中随机抽取某几个样本代替缺失样本。
·多重填补法:包含m个插补值的向量代替每一个缺失值的过程,要求m大于等于20。m个完整数据集合能从插补向量中创建。
·热平台插补:在非缺失数据集中找到一个与缺失值所在样本相似的样本,利用其中的观测值对缺失值进行插补。
·拉格朗日插值法和牛顿插值法:两者都是通过给定n+1个互异的插值节点,让你求一条n次代数曲线近似地表示待插值的函数曲线。
4 建模法(Modeling method)
·回归:基于完整的数据集,建立回归方程。
将已知属性值代入方程来估计未知属性值,以估计值来进行空值得填充。
·极大似然估计:基于缺失类型为随机缺失得条件下,假设模型对于完整的样本是正确的,通过观测数据的边际分布可以对缺失数据进行极大似然估计。
·贝叶斯、随机森林、决策树:建立模型对缺失值进行预测。
异 常 值
指一组测定值中与平均值的偏差超过两倍标准差的测定值。
与平均值的偏差超过三倍标准差的测定值,称为【高度异常的异常值】。
处理异常值的方法:
1 不处理(Do not deal with)
若算法对异常值不敏感,则可以不处理;
算法对异常值敏感,如kmeans,knn之类的一些基于距离计算的一些算法,则最好不要用这种方法,
2 平均值替代(Average override)
利用平均值来代替异常值,损失信息小,简单高效。
3 视为缺失值(Considered missing values)
将异常值视为缺失值来处理,采用处理缺失值的方法来处理异常值
重复数据
数据中存在相同的数据,称为【重复数据】。
| 去重(Duplicate removal)
数据集中的重复值包括以下两种情况:
·数据值完全相同的多条数据记录。
·数据主体相同但匹配到的唯一属性值不同。
当数据集中的重复值是第一种情况时,直接去重即可,如果是第二种情况,需要根据属性的性质来决定是否去除。
噪音处理
数据中存在着错误或异常(偏离期望值)的数据,称为【噪音数据】。
这些数据对数据的分析造成了干扰。
处理噪音的方法:
1 分箱法(Split-Box method)
将待处理的数据按照一定的规则放入箱子中,考察每一个箱子中的数据,根据各个箱子的情况采取方法进行数据处理。
-分箱方法:
· 等深分箱法:按记录行数分箱,每箱具有相同的记录数
· 等宽分箱法:每个箱的区间范围是一个常量,根据区间 范围分箱
· 用户自定义区间
· 最小熵:使各区间分组内的记录具有最小熵
-分箱后对数据进行平滑处理:
· 均值平滑:对同一箱值中的数据求平均值,箱内的数据用平均值代替。
· 中位数平滑:取中位数,箱内数据用中位数来代替。
· 边界平滑:箱中的最大和最小值同样被视为边界。箱中的每一个值被最近的边界值替换。
一般而言,宽度越大,光滑效果越明显。
2 回归(Regression method)
利用函数拟合数据来光滑数据。
·单线性回归:找出拟合两个属性(或变量)的“最佳”直线,使得一个属性能够预测另一个。
·多线性回归:它涉及多于两个属性,并且数据拟合到一个多维面。
使用回归,找出适合数据的数学方程式,能够帮助消除噪声。
3 聚类(Clustering)
将物理的或抽象对象的集合分组为不同簇(一组数据对象的集合),找出并清除落在簇之外的孤立点,这些孤立点就是噪声。
最后,在进行清洗之前,一定一定不能把忘了储存你的源数据!
点击关注,探索数据科学之旅
公众号ID
DataCastle-VIP