数据挖掘项目中最费力的事,就是数据获取和预处理。这些事情占用项目的时间一般为能达到 80%。最简单的解释可以概括为「数据是困难的」。
在真实数据中,我们拿到的数据可能包含了大量的缺失值,可能包含大量的噪音,也可能因为人工录入错误导致有异常点存在,非常不利于算法模型的训练。
数据清洗的结果是对各种脏数据进行对应方式的处理,得到标准的、干净的、连续的数据,提供给数据统计、数据挖掘等使用。
数据清洗能解决数据的各种问题,包括但不限于:
准确性
适用性
及时性
一致性
权威性
每种问题都有各种情况,每种情况适用不同的处理方法。
数据清洗的方法
数据清理一般针对具体应用,因而难以归纳统一的方法和步骤,但是根据数据不同可以给出相应的数据清理方法。
值缺失处理方法
大多数情况下,缺失的值必须手工填入( 即手工清理)。当然,某些缺失值可以从本数据源或其它数据源推导出来,这就可以用平均值、最大值、最小值或更为复杂的概率估计代替缺失的值,从而达到清理的目的。
准确性检测方法
用统计分析的方法识别可能的错误值或异常值,如偏差分析、识别不遵守分布或回归方程的值,也可以用简单规则库(常识性规则、业务特定规则等)检查数据值,或使用不同属性间的约束、外部的数据来检测和清理数据。
重覆性解决方法
资料库中属性值相同的记录被认为是重覆记录,通过判断记录间的属性值是否相等来检测记录是否相等,相等的记录合并为一条记录(即合并/清除)。合并/清除是消重的基本方法。
不一致性解决方法
从多数据源集成的数据可能有语义冲突,可定义完整性约束用于检测不一致性,也可通过分析数据发现联系,从而使得数据保持一致。
噪音处理
噪音,是被测量变量的随机误差或方差。
1.分箱法
分箱方法通过考察数据的「近邻」(即,周围的值)来光滑有序数据值。这些有序的值被分布到一些「桶」或箱中。
2. 回归法
可以用一个函数拟合数据来光滑数据。线性回归涉及找出拟合两个属性(或变量)的「最佳」直线,使得一个属性能够预测另一个。多线性回归是线性回归的扩展,它涉及多于两个属性,并且数据拟合到一个多维面。使用回归,找出适合数据的数学方程式,能够帮助消除噪声。
———— / END / ————
上海交通大学教你“玩”转AI
领取专属 10元无门槛券
私享最新 技术干货