目录
1、数据预处理的必要性
数据预处理技术是数据分析以及数据挖掘过程中非常重要的一环。 数据预处理是指在对数据进行数据挖掘的主要处理以前,先对原始数据进行必要的清洗、集成、转换、离散、归约、特征选择和提取等一系列处理工作,达到挖掘算法进行知识获取要求的最低规范和标准。
哪我们为什么要进行数据预处理呢?
对于数据分析而言,数据是显而易见的核心。但是并不是所有的数据都是有用的。大多数数据参差不齐,层次概念不清晰,数量级不同。这会给后期的数据分析带来很大的麻烦。
数据挖掘的对象是从现实现实世界采集到的大量的、各种各样大数据。现实生产和实际生活以及科学研究的多样性、不确定性、复杂性等导致采集到的原始数据比较散乱,它们是不符合挖掘算法进行知识获取的规范和标准的。所以这时我们必须把数据进行处理,从而得到标准规范的数据。进而进行分析。现实生活中的数据经常是“肮脏的”。也就是数据会有由于各种原因,存在各种问题。尤其是如今的大数据,因为“大”所以什么问题都有可能出现。那么我们的数据会出现什么问题呢?
(1)不完整性:不完整性指的是数据记录中可能会出现有一些数据属性的值丢失或不确定的情况,还有可能缺失必需的数据。这是系统设计时存在的缺陷或者使用过程中一些人为因素造成的,如有些数据缺失只是因为输入时被认为时不重要的,相关数据没有记录可能是由于理解错误,或者因为设备故障,与其他记录不一致的数据可能已经被删除,历史记录或修改的数据可能被忽略等。
(2)含噪声:含噪声指的是数据具有不正确的属性值,包含错误或者存在偏离期望的离群值(指与其他数值比较差异较大的值)。它们产生的原因有很多,如手机数据的设备可能出现故障,人或者计算机可能在数据输入时出现错误,数据传输中可能出现了错误等。不正确的数据也可能是由命名约定或所用的数据代码不一致导致的。在实际使用系统中,还可能存在大量的模糊信息,有些数据甚至具有一定的随机性。
(3)不一致性:原始数据是从各个实际应用系统中获取的,由于各应用系统的数据缺乏统一的标准的定义,数据结构也有较大的差异,因此各系统之间的数据存在较大的不一致性,往往不能直接使用。同时,来自不同应用系统中的数据,由于合并还普遍存在数据重复和信息冗余现象。
因此,这里说存在不完整的、含噪声的和不一致的数据是现实世界大型的数据库或数据仓库的共同特点。一些比较成熟的算法对其处理的数据集合一般有一定的要求,如数据完整性好、数据的冗余性小、属性之间的相关性小。然而,实际系统中的数据一般无法直接满足数据挖掘算法的要求,因此必须对数据进行预处理,以提高数据质量,使之符合数据挖掘算法的规范和要求。
2、数据预处理的主要任务
数据预处理是指对数据进行数据挖掘之前,先对原始数据进行必要的清洗、集成、转换、离散和规约等一系列的处理工作,已达到挖掘算法进行知识获取研究所要求的最低规范和标准。在大数据处理过程中,数据预处理将占用60%~80%的时间。
从对不同的源数据进行预处理的功能来分,数据预处理主要包括数据清洗(Data Cleaning)、数据集成(Data Integration)、数据变换(Data Transformation)、数据规约(Data Reduction)。等四个功能。
实际的数据预处理过程中,这四种功能不一定都用得到而且在实际运用中也没有先后顺序。而且某种数据预处理可能还会先后要多次进行。
首先我们来介绍数据清洗:
数据清洗要去除数据集中的噪声数据和无关数据,处理遗漏数据和清洗脏数据、空缺值、识别删除孤立点等。在一个企业中,不同类型的数据通常是分布在若干个独立的信息系统中的。以运营商为例,用户的计费和账单信息由信息化或市场部门的经营分析系统生成和维护而用户在网络中所产生的信令和上网行为记录则由网络运维部门的网络运维系统存储。由于种种历史和现实原因,这些独立的信息系统之间,缺少统一的接口,且数据结构差异巨大,造成企业内部的数据融合困难也无法充分挖掘数据,所包含的经济和社会价值。如何将这些相互关联的分布式异构数据源集成一起。能够让上层用户无视不同系统的数据差异,透明的方式访问这些数据这就是数据集成所要解决的问题。
传统数据集成就是要解决由多个数据源合并成一个一致的数据存储过程中,遇到的诸如数据源、语义歧义、实例表示歧义、不一致性、冗余等问题。在大数据时代随着云计算的普及,如何让各种数据源中的种类丰富的数据高效上云以及经过云上大数据计算后,如何把计算结果回流到种类丰富的数据源或者云上各个产品之间的数据怎么进行同步,各个云厂商或者大数据解决方案提供商都推出了各自的数据集成产品。
总结:
(旨在分享日常学习大数据中的知识点和总结,如有错误欢迎各位大佬指正)
明天就是中秋节,在此预祝各位中秋节快乐!合家团圆!