网上学习资料一大堆,但如果学到的知识不成体系,遇到问题时只是浅尝辄止,不再深入研究,那么很难做到真正的技术提升。
一个人可以走的很快,但一群人才能走的更远!不论你是正从事IT行业的老鸟或是对IT行业感兴趣的新人,都欢迎加入我们的的圈子(技术交流、学习资源、职场吐槽、大厂内推、面试辅导),让我们一起学习成长!
中国的数据规模将超过美国位居世界第一。中国成为数据大国并不奇怪,因为中国是人口大国、制造业大国、互联网大国、物联网大国,这都是最活跃的数据生产主体,未来几年,中国成为数据大国也是逻辑上的必然结果。
数据预处理主要包括数据清洗(Data Cleaning)、数据集成(Data Integration)、数据转换(Data Transformation)和数据消减(Data Reduction)。
现实世界的数据常常是不完全的、有异常数据的、不一致的。数据清洗过程包括遗漏数据处理,异常数据处理,以及不一致数据处理。
- 数据清洗的举例
假设在分析一个商场销售数据时,发现有多个记录中的属性值为空,如顾客的收入属性,则对于为空的属性值,可以采用以下方法进行遗漏数据处理。
1)忽略该条记录
若一条记录中有属性值被遗漏了,则将此条记录排除,尤其是没有类别属性值而又要进行分类数据挖掘时。
当然,这种方法并不很有效,尤其是在每个属性的遗漏值的记录比例相差较大时。
2)手工填补遗漏值
一般这种方法比较耗时,而且对于存在许多遗漏情况的大规模数据集而言,显然可行性较差。
3)利用默认值填补遗漏值
对一个属性的所有遗漏的值均利用一个事先确定好的值来填补,如都用“OK”来填补。但当一个属性的遗漏值较多时,若采用这种方法,就可能误导挖掘进程。
因此这种方法虽然简单,但并不推荐使用,或使用时需要仔细分析填补后的情况,以尽量避免对最终挖掘结果产生较大误差。
4)利用均值填补遗漏值
计算一个属性值的平均值,并用此值填补该属性所有遗漏的值。例如,若顾客的平均收入为 10000 元,则用此值填补“顾客收入”属性中所有被遗漏的值。
5)利用同类别均值填补遗漏值
这种方法尤其适合在进行分类挖掘时使用。
例如,若要对商场顾客按信用风险进行分类挖掘时,就可以用在同一信用风险类别(如良好)下的“顾客收入”属性的平均值,来填补所有在同一信用风险类别下“顾客收入”属性的遗漏值。
6)利用最可能的值填补遗漏值
可以利用回归分析、贝叶斯计算公式或决策树推断出该条记录特定属性的最大可能的取值。
例如,利用数据集中其他顾客的属性值,可以构造一个决策树来预测“顾客收入”属性的遗漏值。
最后一种方法是一种较常用的方法,与其他方法相比,它最大程度地利用了当前数据所包含的信息来帮助预测所遗漏的数据。
数据处理常常涉及数据集成操作,即将来自多个数据源的数据,如数据库、数据立方、普通文件等,结合在一起并形成一个统一数据集合,以便为数据处理工作的顺利完成提供完整的数据基础。
在数据集成过程中,需要考虑解决以下几个问题。
- 模式集成问题
模式集成问题就是如何使来自多个数据源的现实世界的实体相互匹配,这其中就涉及实体识别问题。
例如,如何确定一个数据库中的“custom_id”与另一个数据库中的“custome_number”是否表示同一实体。
数据库与数据仓库通常包含元数据,这些元数据可以帮助避免在模式集成时发生错误。
- 冗余问题
冗余问题是数据集成中经常发生的另一个问题。若一个属性可以从其他属性中推演出来,那这个属性就是冗余属性。
例如,一个顾客数据表中的平均月收入属性就是冗余属性,显然它可以根据月收入属性计算出来,这就是俩个冗余的数据。此外,属性命名的不一致也会导致集成后的数据集出现数据冗余问题。
- 数据值冲突检测与消除问题
在现实世界实体中,来自不同数据源的属性值或许不同。产生这种问题的原因可能是表示、比例尺度,或编码的差异等。
例如,重量属性在一个系统中采用公制,而在另一个系统中却采用英制;价格属性在不同地点采用不同的货币单位。这些语义的差异为数据集成带来许多问题。
数据转换就是将数据进行转换或归并,从而构成一个适合数据处理的描述形式。数据转换包含以下处理内容。
1)平滑处理
帮助除去数据中不要的数据,主要技术方法有聚类方法和回归方法。
2)合计处理
对数据进行总结或合计操作。例如,每天的数据经过合计操作可以获得每月或每年的总额。这一操作常用于构造数据立方或对数据进行多粒度的分析。
3)数据泛化处理
用更抽象(更高层次)的概念来取代低层次或数据层的数据对象。
例如,街道属性可以泛化到更高层次的概念,如城市、国家,数值型的属性,如年龄属性,可以映射到更高层次的概念,如年轻、中年和老年。
4)规格化处理
将有关属性数据按比例投射到特定的小范围之中。例如,将工资收入属性值映射到 0 到 1 范围内。
5)属性构造处理
根据已有属性集构造新的属性,以帮助数据处理过程。
例如,根据宽、高属性,可以构造一个新属性(面积)。构造合适的属性能够减少学习构造决策树时出现的碎块情况。此外,属性结合可以帮助发现所遗漏的属性间的相互联系,而这在数据挖掘过程中是十分重要的。
网上学习资料一大堆,但如果学到的知识不成体系,遇到问题时只是浅尝辄止,不再深入研究,那么很难做到真正的技术提升。
一个人可以走的很快,但一群人才能走的更远!不论你是正从事IT行业的老鸟或是对IT行业感兴趣的新人,都欢迎加入我们的的圈子(技术交流、学习资源、职场吐槽、大厂内推、面试辅导),让我们一起学习成长!
果学到的知识不成体系,遇到问题时只是浅尝辄止,不再深入研究,那么很难做到真正的技术提升。**
一个人可以走的很快,但一群人才能走的更远!不论你是正从事IT行业的老鸟或是对IT行业感兴趣的新人,都欢迎加入我们的的圈子(技术交流、学习资源、职场吐槽、大厂内推、面试辅导),让我们一起学习成长!