数据预处理—剔除异常值,平滑处理,标准化(归一化)

  数据预处理的主要任务如下:

  (1)数据清理:填写空缺值,平滑噪声数据,识别,删除孤立点,解决不一致性

  (2)数据集成:集成多个数据库,数据立方体,文件

  (3)数据变换:规范化(消除冗余属性)和聚集(数据汇总),将数据从一个较大的子空间投影到一个较小的子空间

  (4)数据归约:得到数据集的压缩表示,量小,但可以得到相近或相同的结果

  (5)数据离散化:数据规约的一部分,通过概念分层和数据的离散化来规约数据,对数字型数据比较重要。

  1.数据清洗

  (1)处理空缺值:

  A, 忽略元组

  B.人工填写空缺值

  C.使用一个全局变量填充空缺值

  D.使用属性的平均值填充空缺值

  E.使用与给定元组属同一类的所有样本的平均值

  F.使用最可能的值填充空缺值,使用像Bayesian公式或判定树这样的基于推理的方法

  (2)处理噪声数据

  噪声:一个测量变量中的随机错误或偏差

  A.分箱(binning)(等深或等宽分箱)

  首先排序数据,并将他们分到等深的箱中

  然后可以按箱的平均值平滑,按箱中值平滑,按箱的边界值平滑

  B.聚类:检测并且去除孤立点

  C.计算机和人工检查结合:计算机检测可疑数据,然后对他们进行人工判断

  D.回归:通过让数据适应回归函数来平滑数据,对连续的数字型数据较好

  2.数据集成

  数据集成:将多个数据源中的数据整合到一个一致的存储中

  模式集成:整合不同数据源中的元数据,实体识别问题:匹配来自不同数据源的现实世界中相同的实体。(人工干预或利用字段的元信息,比较字段的描述性元信息,看他们是否相同)。检测并解决数据值的冲突:对现实世界中的同一实体,来自不同数据源的属性值可能是不同的(因为不同的数据表示或不同的度量)

  处理数据集成中的冗余数据:

  集成多个数据库时出现冗余数据的主要原因:同一属性在不同的数据库中会有不同的字段名;一个属性可以由另外一个表导出

  有些冗余可以被相关分析检测到:检测各个属性之间的相关性

  事先根据其元数据或相关性分析对数据进行预处理,就能够减少或避免结果数据中的冗余与不一致性,提高数据挖掘的质量。

  3.数据变换

  A.平滑:去除数据中的噪声

  B.聚集:数据汇总,数据立方体的构建,数据立方体的计算/物化(一个数据立方体在方体的最底层叫基本方体,基本方体就是已知存在的数据,对现有的数据按照不同维度进行汇总就可以得到不同层次的方体,所有的方体联合起来叫做一个方体的格,也叫数据立方体。数据立方体中所涉及到的计算就是汇总)

  C.数据概化:沿概念分层向上汇总,数据立方体的不同的维之间可能存在着一个概念分层的关系

  D.规范化:将数据按比例缩放,使这些数据落入到一个较小的特定的区间之内。方法有:

  a.最小----最大规范化

  b.Z-score规范化

  c.小数定标规范化

  E.属性的构造:通过现有属性构造新的属性,并添加到属性集中

  4.数据归约

  (1)数据归约可以用来得到数据集的归约表示,它小得多,但可以产生相同(或几乎相同的)分析结果

  (2)数据归约策略

  A.数据立方体聚集:

  数据立方体是根据不同的维度对数据进行汇总,立方体的越顶层,其汇总程度就越高,数据量就越少。

  对数据的表示就越概化。最底层的方体对应于基本方体,基本方体对应于感兴趣的实体。

  在数据立方体中存在着不同级别的汇总,数据立方体可以看做方体的格,每一个较高层次的抽象将进一步减少结果数据集。

  数据立方体提供了对预计算的汇总数据的快速访问,原则是使用与给定任务相关的最小方体,并且在可能的情况下,对于汇总数据的查询应当使用数据立方体。

  B.维归约:用来检测或删除不相关的或基本不相关的属性或冗余属性或维,来减少数据量。

  属性子集的选择:找出最小属性集,使得数据类的概念分布尽可能的接近使用所有属性的原分布,把不相关的属性全部删除。

  可以减少出现在发现模式上的属性的数目,使得模式便于理解。

  主要方法有:启发式的(探索式的try and error)方法,该方法包括逐步向前选择(从空属性集开始,每次选择都选择当前属性集中最符合的目标,

  最好的属性,加到当前的属性集中,这样逐步的向前选择,把有用的属性一个一个的添加进来),

  逐步向后删除(从属性全集开始,每次删除还在当前属性集中的最不适合的那个属性,最坏的属性,这样一个一个的删除,最后留下来的就是相关的属性),

  向前选择和向后删除相结合(每次选择一个最好的属性,并且删除一个最坏的属性),判定归纳树

  C.数据压缩:使用一些编码机制来压缩数据集。无损压缩(可以根据压缩之后的数据完整的构造出压缩之前的数据wrar. zip等,如字符串压缩)

  和有损压缩(无法通过压缩之后的数据来完整的构造出压缩之前的数据,如音频/视频压缩,有时可以在不解压缩整体数据的情况下,重构某个片段,主要应用于流媒体传输)。

  两种有损数据压缩的方法:小波变换和主要成分分析

  D.数值归约:使用较小的,替代的数据来估计,替换,表示原数据(用参数模型):通过选择替代的,较小的数据表示形式来减少数据量。

  方法主要有:有参方法(使用一个参数模型来估计数据,最后只要存储参数即可,有线性回归方法,多元回归,对数线性模型(近似离散的多维数据概率分布))和

  无参方法(直方图(将某属性的数据划分为不相交的子集或桶,桶中放置该值的出现频率,其中桶和属性值的划分规则有:等深,等宽,V-最优,MaxDiff),

  聚类(将数据集划分为聚类,然后通过聚类来表示数据集,如果数据可以组成各种不同的聚类,则该技术非常有效,反之如果数据界线模糊,则该方法无效。

  数据可以分层聚类,并被存储在多层索引树中),选样(允许用数据的较小随机样本(子集)表示大的数据集。对数据集D的样本选择方法有:简单随机选择n个样本,不放回(由D的N个元组中抽取n个样本),

  简单随机选择n个样本,回放(由D的N个元组中抽取n个样本,元组被抽取后将被回放,同一元组可能再次被抽取到),聚类选样(聚类分析和简单随机选样的结合,

  D中元组被分入到M个互不相交的聚类中,可以在其中的m个聚类上进行简单随机选样,mM),分层选样(D被划分为互不相交的层,则可通过对每一层的简单随机选样得到D的分层选样)

  5.离散化和概念分层的产生

  离散化:将连续属性的范围划分为区间,以减少所必需处理的数据的量。

  主要应用于以下三类数据:名称型(无序集合中的值),序数(有序集合中的值),连续值(实数)。

  使用连续属性的范围的划分,使用某一范围的值来代替某一段的值。

  离散化可以有效的规约数据(基于判定树的分类挖掘)。离散化是通过将属性域划分为区间,减少给定连续属性值的个数,区间的标号可以代替实际的数据值。

  概念分层是通过使用高层的概念来替代底层的属性值。

  A.数值型数据如何离散化:

  (1)分箱 binning:分箱技术递归的用于结果划分,可以产生概念分层。

  (2)直方图分析 histogram:直方图分析方法递归的应用于每一部分,可以自动产生多级概念分层。

  (3)聚类分析:将数据划分成簇,每个簇形成同一概念层上的一个节点,每个簇可再分成多个子簇,形成子节点。

  (4)基于熵的离散化(基于统计学的)

  (5)通过自然划分分段:将数值区域划分为相对一致的,易于阅读的,看上去更直观或自然的区间。

  自然划分的3-4-5规则:如果一个区间最高有效位上包含3,6,7或9个不同的值就将该区间划分为3个等宽子区间;

  如果一个区间最高有效位上包含2,4或8个不同的值,就将该区间划分为4个等宽的子区间;

  如果一个区间最高有效位上包含1,5或10个不同的值,就将该区间划分为5个等宽的子区间;

  再将该规则递归的应用于每个子区间。(对于数据集中出现的最大值和最小值的极端分布,为避免上述方法出现的结果扭曲,可以在顶层分段时,选用一个大部分的概率空间5%--95%)

  B.分类数据的离散化:

  (1)分类数据指无序的离散数据,它有有限个值(可能是很多个)

  (2)分类数据的概念分层生成方法:(属性的序代表的是属性之间的一个包含关系,说明其在概念分层中的层次的高低)

  由用户或专家在模式级显式的说明属性的部分序。在定义数据库时就注明属性之间的包含关系,在进行数据汇总时,直接找到该包含关系,

  利用此包含关系进行数据向上汇总。

  通过显示数据分组说明分层结构的一部分。

  说明属性集,但不说明它们的偏序,然后系统根据算法自动产生属性的序,构造有意义的概念分层。

  如何根据实际的数据来自动的生成一个偏序?根据在给定的属性集中每个属性所包含的不同值的个数,可以自动生成概念分层,不同值个数最多的属性将被放在概念分层的最底层。

  对只说明部分属性集的情况,则可根据数据库模式中的数据语义定义对属性的捆绑信息,来恢复相关属性。在定义数据库的同时定义一个捆绑信息,将存在偏序关系的几个属性捆绑在一起。

  


转载于:https://juejin.im/post/5ba492b46fb9a05ce37af426

你可能感兴趣的:(数据预处理—剔除异常值,平滑处理,标准化(归一化))