数据挖掘(三):数据预处理

在现实生活中,咱们会遇到各类各样的数据,并且其中绝大多数的数据是“有毛病”的,不利于后期进行分析,因此咱们在分析前须要进行数据的预处理。数据库

3.1 数据预处理:概述

3.1.1 数据质量

数据质量包括准确性完整性一致性时效性可信性可解释性工具

3.1.2 数据预处理的主要任务

数据清理数据集成数据归约数据变换性能

  • 数据清理经过填写缺失值,光滑噪声数据,识别或删除离群点,并解决不一致性“清理”数据。
  • 数据集成将多个数据库、数据立方体或文件集成在一块儿,主要问题是表明同一律念的属性在不一样数据库中可能具备不一样的名字,致使不一致性和冗余。
  • 数据归约获得数据集的简化表示,它小得多,但能产生一样的(或几乎一样的)分析结果。数据归约策略包括维归约数值归约编码

    • 维归约:使用数据编码方案,以便获得数据的简化或“压缩”表示方式。包括数据压缩技术(例如,小波变换和主成分分析),以及属性子集选择(例如,去掉不相关的属性)和属性构造(例如,从原属性导出更有用的小属性集)
    • 数值归约:使用参数模型(例如,回归或对数线性模型等)或非参数模型(例如,直方图、聚类和抽样等),用较小的表示取代数据。
  • 数据变换包括规范化数据离散化概念分层产生

3.2 数据清理

数据清理例程试图填充缺失的值、光滑噪声并识别离群点,纠正数据中的不一致。code

3.2.1 缺失值

处理缺失值的方法:事件

  1. 忽略元组
  2. 人工填写缺失值
  3. 使用一个全局常量填充缺失值
  4. 使用属性的中心度量(如均值或中位数)填充缺失值
  5. 使用与给定元组属于同一类的全部样本的属性均值或中位数
  6. 使用最可能的值填充缺失值:能够用回归、使用贝叶斯形式化方法的基于推理的工具或决策树概括肯定。

注:某些状况下,缺失值并不表示错误,例如,一个没有驾驶证的人去办理信用卡,则驾驶证栏不会填ci

3.2.2 噪声数据

噪声是被测量的变量的随机偏差或方差。
数据光滑技术包括:it

  • 分箱:分箱方法经过考察数据的“近邻”(即周围的值),来光滑有序数据值。变量

    • 用箱均值光滑:箱中每个值都被替换为箱中的均值
    • 用箱中位数光滑:箱中每个值都被替换为箱中的中位数
    • 用箱边界光滑:给定箱中的最大值和最小值做为箱边界,箱中每个值都被替换为最近的边界值。
  • 回归
  • 离群点分析:可经过如聚类来检测离群点

以上方法也可用于数据离散化和数据归约 重构

3.2.3 数据清理化为一个过程

数据清理首先进行误差检测,使用任何可能具备的关于数据性质的元数据(关于数据的数据),还要防止字段过载,还应当根据惟一性规则连续性规则空值规则考察数据。

  • 惟一性规则:给定属性的每一个值都必须不一样于该属性的其余值
  • 连续性规则:属性的最低和最高值之间没有缺失的值,而且全部的值还必须惟一
  • 空值规则:说明空白、问号、特殊符号或指示空值条件的其余串的使用,以及如何处理这样的值

误差检测的商业工具:

  • 数据清洗工具
  • 数据审计工具

数据迁移工具:

  • EIL工具

3.3 数据集成

好的数据集成有助于提升其后挖掘过程的准确性和速度。

3.3.1 实体识别问题

例如,计算机如何确信一个数据库中的customer_id与另外一个数据库中的cust_number指的是相同属性?每一个属性的元数据包括名字、含义、数据类型和取值范围,以及空值规则。这样的元数据能够用来避免模式集成的错误。

3.3.2 冗余和相关分析

有些冗余能够被相关分析检测到。给定两个属性,这种分析能够根据可用的数据,度量一个属性能有多大程度蕴含另外一个。
对于标称数据,使用$\chi^{2}$(卡方)检验,对于数值属性,使用相关系数协方差`。

1. 标称数据的$\chi^{2}$相关检验

假设A有C个不一样值$a_1,a_2,...,a_c$,B有r个不一样值$b_1,b_2,...,b_r$。用A和B描述的数据元组能够用相依表显示,其中A的C个值构成列,B的r个值构成行。令$(A_i, B_j)$表示属性$a_i, b_j$的联合事件,即$(A = a_i, B = b_j)$。每一个可能的$(A_i, B_j)$联合事件都在表中有本身的单元。$\chi^{2}$值(又称$Pearson \chi^{2}$统计量)能够用下式计算:

$$ \chi^{2}=\sum_{i=1}^c \sum_{j=1}^r \frac{(o_{ij}-e_{ij})^2}{e_{ij}} $$

其中,$o_{ij}$是联合事件$(A_i, B_j)$的观测频度(即实际计数),而$e_{ij}$是$(A_i, B_j)$的指望频度,能够用下式计算:

$$ e_{ij} = \frac{count(A=a_i)*count(B=b_j)}{n} $$

其中,$n$是数据元组的个数,$count(A=a_i)$是A上具备$a_i$的元组个数,$count(B=b_j)$是B上具备$b_j$的元组个数。

注:对$\chi^2$值贡献最大的单元是其实际计数与指望计数很不相同的单元
$\chi^2$统计检验假设A和B是独立的。检验基于显著水平,具备自由度$(r-1)(c-1)$。若是能够拒绝该假设,则说明A和B是统计相关的。

2. 数值数据的相关系数

能够经过计算属性A和B的相关系数(又称$Pearson$积矩系数)估计这两个属性的相关度$r_{a,b}$

$$ r_{a,b} = \frac{\sum_{i=1}^n (a_i - A_{mean})(b_i - B_{mean})}{n\sigma_A \sigma_B} = \frac{\sum_{i=1}^n (a_i b_i) - nA_{mean}B_{mean}}{n\sigma_A \sigma_B} $$

其中,$n$是元组的个数,$a_i$和$b_i$分别是元组$i$上A和B的值,$A_{mean}$和$B_{mean}$分别是A和B的均值,$\sigma_A$和$\sigma_B$的标准差,而$\sum(a_ib_i)$是AB的叉积和。
注:$-1≤r_{A,B}≤+1$。若是$r_{A,B}$大于0,则A和B是正相关的,意味着A值随B值的增长而增长。值越大,相关性越强。所以,一个较高的$r_{A,B}$值代表A或B能够做为冗余删除。

3. 数值数据的协方差

考虑两个数值属性A和B和几回观测的集合$\{(a_1,b_1),...,(a_n,b_n) \}$。A和B的均值又称为指望,即:

$$ E(A) = A_{mean} = \frac{\sum_{i=1}^n a_i}{n}, E(B) = B_{mean} = \frac{\sum_{i=1}^n b_i}{n} $$

A和B的协方差定义为:

$$ Cov(A, B) = E((A-A_{mean})(B-B_{mean})) = \frac{\sum_{i=1}^n(a_i-A_{mean})(b_i-B_{mean})}{n} $$

协相关系数$r_{A,B}$:

$$ r_{A,B} = \frac{Cov(A,B)}{\sigma_A \sigma_B} $$

其中,$\sigma_A$和$\sigma_B$分别是A和B的标准差

$$ Cov(A,B) = E(A,B) - A_{mean}B_{mean} $$

两个趋于一块儿改变的属性A和B,若是A大于$A_{mean}$,则极可能B大于$B_{mean}$,所以A,B的协方差为正,若是A和B是独立的,则$E(A,B)=E(A)-E(B)$,因此$Cov(A,B)=E(A*B)-A_{mean}B_{mean}=E(A)*E(B)-A_{mean}B_{mean} = 0$

3.3.3 元组重复

除了检测属性冗余外,还应在元组级检测重复。
例如,对于给定的惟一数据实体,存在两个或多个相同的元组。

3.3.4 数据值冲突的检测与处理

致使数据值冲突的缘由可能由于表示、尺度或编码不一样。
属性也可能在不一样的抽象层,其中属性在一个系统中记录的抽象层可能比另外一个系统中“相同的”属性低。

3.4 数据归约

3.4.1 数据归约策略概述

数据归约策略包括维归约数量归约数据压缩
维归约减小所考虑的随机变量或属性的个数。维归约方法包括小波变换主成分分析属性子集选择
数量归约用替代的较小的数据表示形式替换原数据。
数据压缩使用变换,以便获得原数据的归约或“压缩”表示。若是原数据可以从压缩后的数据重构,而不损失信息则称无损的。若是能近似重构原数据则称有损的

3.5 数据变换与数据离散化

3.5.1 数据变化策略概述

数据变换策略包括:

  1. 光滑:去掉数据中的噪声。包括分箱、回归和聚类
  2. 属性构造(或特征构造):能够由给定的属性构造新的属性并添加到属性集中,以帮助挖掘过程。
  3. 汇集:对数据进行汇总和汇集
  4. 规范化:吧属性数据按比例缩放,使之落入特定小区间。
  5. `离散化:数值属性的原始值用区间标签或概念标签替换。
  6. 由标签数据产生概念分层:属性,如:stree,能够泛化到较高的概念层,如city。

注:数据预处理的主要任务之间存在许多重叠

相关文章
相关标签/搜索