由于整个部门无研发人员,我们日常项目得数据清洗都是直接使用条件筛选进行过滤,对数据缺少得就使用添加字段得方式进行补全,但是对于条数缺少的数据就只能放弃。这种技术的不专业对于我们进行数据分析也造成了一些需求的无法实现,好在选择部门要及逆行规划,创建自己的数仓了,那就先来学习下数据清洗的分类吧。之前没有记录的习惯,那就从现在开始记录吧~~
进入正题:
缺失值:粗糙数据中由于缺少信息而造成的数据的聚类、分组、删失或截断。指现有数据集中某个或某些属性的值是不完全的。
处理方法:
1、直接删除。
适用于样本较大的情况,样本较小会影响最终的分析结果。
2、估算。
数据均匀,均值法填充;
数据分布倾斜,中位数填充;
根据数据的分布情况,可以采用均值、中位数、或者众数进行数据填充。
3、插补法。
随机插补法,从总体中随机抽取某几个样本代替缺失样本。
多重填补法,包含m个插补值的向量代替每一个缺失值的过程,要去m大于等于20。m个完整数据集合能从插补向量中创建。
热平台插补,在非缺失数据集中找到一个与缺失值所在样本相似的样本,立勇其中的观测值对缺失值进行插补。
拉格朗日插值法和牛顿插值法,两者都是通过给定n+1个互异的插值节点,让你求一条n次代数曲线近似地表示待插值的函数曲线。
4、建模法
回归,基于完整的数据集,建立回归方程。将已知属性值代入方程来估计未知属性值,以估计值来进行空值的填充。
极大似然估计,基于缺失类型为随机缺失的条件下,假设模型对于完整的样本是正确的,通过观测数据的边际分布可以对缺失数据进行极大似然估计。
贝叶斯、随机森立、决策树,建立模型对缺失值进行预测。
异常值:指一组测定值中与平均值的偏差超过两倍标准差的测定值。与平均值的偏差超过三倍标准差的测定值,称为高度异常的异常值。
处理方法:
1、不处理
若算法对异常值不敏感,则可以不处理。
算法对异常值敏感,如kmeans,knn之类的一些基于距离计算的一些算法,则最好不要用这种方法。
2、平均值替代
利用平均值来代替异常值,损失信息小,简单高效。
3、视为缺失值
将异常值视为缺失值来处理,采用处理缺失值的方法来处理异常值。
重复数据:数据中存在相同的数据
处理方法:
1、去重
数据集中的重复值包括以下两种情况:
数据值完全相同的多条数据记录。--直接去重
数据主体相同但匹配到的唯一属性值不同。--根据属性的性质决定是否去除
噪音处理:数据中存在着错误或异常(偏离期望值)的数据,噪音数据
处理方法:
1、分箱法
将待处理的数据按照一定的规则放入箱子中,考察每一个箱子中的数据,根据各个箱子的情况采取方法进行数据处理。
分箱方法:
等深分箱法,按记录行数分箱,每箱具有相同的记录数
等宽分箱法,每个箱的区间范围是一个常量,根据区间范围分箱
用户自定义区间
最小熵,使各区间分组内的记录具有最小熵
分箱后对数据进行平滑处理:
均值平滑,对同一箱值中的数据求平均值,箱内的数据用平均值代替。
中位数平滑,取中位数,箱内数据用中位数来代替。
边界平滑,箱中的最大和最小值同样被视为边界。箱中的每一个值被最近的边界值替换。
一般而言宽度越大,光滑效果越明显。
2、回归
利用函数拟合数据来光滑数据。
单线性回归,找出拟合两个属性(或变量)的"最佳"直线,使得一个属性能够预测另一个。
多线性回归,它涉及多于两个属性,并且数据拟合到一个多维面。
使用回归,找出适合数据的数据方程式,能够帮助消除噪声
3、聚类
将物理的或抽象对象的集合分组为不同簇(一组数据对象的集合),找出并清除落在簇之外的孤立点,这些孤立点就是早上
基础概念掌握,循序渐进。
网友评论