数据清洗方法有哪些?

来源:互联网 发布:草帽海贼团第十人 知乎 编辑:程序博客网 时间:2024/06/11 19:23

在数据挖掘中,由于得到的原始数据往往跟我们要处理的数据的格式大相庭径,所以有必要对原始数据进行清洗。

我所理解的数据清洗,无非是这么几个过程:标准化、归一化、降维

=========
1、标准化(数值化)
由于原始数据往往存在各种不同格式的数据形式,比如如果你要处理的数据是数值型,但是原始数据也许有字符型或者其他,那就要对其进行标准化操作。处理的方式可以很简单也可以很复杂,我采取过的一个方法是:对字符串取值,按照ANSI码值求和得到字符串的值,如果值太大,可以取一个适当的质数对其求模,本质上就是映射到一个区间了。然后就得到数值型的数据了。
2、归一化
由于原始数据各个维度之间的数值往往相差很大,比如一个维度的最小值是0.01,另一个维度最小值却是1000,那么也许在数据分析的时候,计算相关性或者方差啥的指标,后者会掩盖了前者的作用。因此有必要对整体数据进行归一化工作,也就是将它们都映射到一个指定的数值区间,这样就不会对后续的数据分析产生重大影响。我采取过的一个做法是:min-max标准化。
3、降维
由于原始数据往往含有很多维度,也就是咱们所说的列数。比如对于银行数据,它往往就含有几十个指标。这些维度之间往往不是独立的,也就是说也许其中之间若干的维度之间存在关联,也许有他就可以没有我,因此咱们可以使用数据的相关性分析来降低数据维度。我使用过的一个方法是:主成分分析法。具体操作请百度。
==========
以上就是一些数据清洗操作的皮毛介绍,这些方法都不需要我们亲自去编码实现,因为它们已经被研究烂了,有各种工具和程序可以帮助我们实现这些方法。
对于数据挖掘来说,80%的工作都花在数据准备上面,而数据准备,80%的时间又花在数据清洗上,而数据清洗的工作,80%又花在选择若干种适当高效的方法上。真的,用不同方法清洗的数据,对后续挖掘的分析工作会带来重大影响。
1 0
原创粉丝点击