数据挖掘 ➡ 预处理

预处理

    • 1. 数据质量
    • 2. 预处理
      • 2.1 数据预处理
        • 2.1.1 处理丢失数据
        • 2.1.2 处理噪声(不正常)数据
        • 2.1.3 处理不一致数据
      • 2.2 数据集成
      • 2.3 处理数据冗余
      • 2.4 相关分析(离散变量)
        • 2.4.1 卡方检验
        • 2.4.2 相关系数(皮尔逊相关系数)
        • 2.4.3 协方差
      • 2.5 数据规约
        • 2.5.1 维归约(降维 dimensionality reduction)
          • 2.5.1-1 离散小波变换(DWT)
          • 2.5.1-2 主成分分析(principal components analysis)
        • 2.5.2 数量规约(降数据):
          • 2.5.2-1 抽样法
      • 2.6 数据转换和离散化
        • 2.6.1 最小-最大规范化
        • 2.6.2 Z-得分正常化
        • 2.6.3 小数定标规范化
        • 2.6.4 非监督离散化方法:
    • 3. 特征构造

1. 数据质量

被广泛接受的数据质量测量标准
■ 准确性 ■ 完整性
■ 一致性 ■ 合时性
■ 可信度 ■ 解释性

2. 预处理

数据清理

  • 填写缺失值,平滑噪声数据,识别或删除离群,并解决不一致问题。

数据集成

  • 整合多个数据库,多维数据集或文件

数据缩减

  • 降维
  • Numerosity reduction
  • 数据压缩

数据转换和数据离散化

  • 正常化
  • 生成概念层次结构

2.1 数据预处理

显然,我们自己去收集的初始数据是"脏"的。

  1. 不完整:数据缺胳膊少腿~,例如,缺少属性值、缺乏某些属性值或只包含总数据。 职业 = " " (缺)。
  2. 含噪音、离群、不正常的数据:例如,年龄 = “-10”
  3. 是同意义的,但不同格式:评级:A、B、C,|| 优、良、中、差。

2.1.1 处理丢失数据

  1. 忽略元组:当类标号缺少时通常这么做(监督式机器学习中训练集缺乏类标签)。当每个属性缺少值比例比较大时,它的效果非常差;
  2. 手动填写遗漏值:工作量大;
  3. 自动填写
    使用属性的平均值填充空缺值;
    最有可能的值:基于诸如贝叶斯公式或决策树推理。

思考:对缺失值取值,取一个合适的值,是我们要解决的问题!!例如,当数据库中某属性缺失值比较多时,数据清理采用平均值填充的方法。努力做到各个类型情况捻熟于心。套它!

2.1.2 处理噪声(不正常)数据

我们要先查看有哪些不正常的数据,再通过可视化出来,找到它灭掉!

  1. 我们用盒装图检测离群数据:删除掉离群点数据
    数据挖掘 ➡ 预处理_第1张图片
  2. 用一个回归函数拟合数据来光滑数据。
  3. 可以通过聚类来检测离群点

2.1.3 处理不一致数据

想了想,我们用替换法,用算法推理出"同义不同形"数据,替换带它。

  1. 计算推理、替换
  2. 全局替换

2.2 数据集成

将五湖四海的数据(数据源),揉揉捻捻组成流水 (连贯) 似的数据源。数据挖掘 ➡ 预处理_第2张图片
模式集成:整合来源不同来源的元数据
例如:A.cust_id =B.cust_#,有点类似数据库的外连接。
数据挖掘 ➡ 预处理_第3张图片
实体识别问题: 识别来自多个数据源的真实世界的实体,例如,BIll Clinton=Willian Clinton。
数据挖掘 ➡ 预处理_第4张图片
数据冲突检测和解决:对同一个真是世界的实体,来自不同的属性值。可能的原因:不同的表述,不同的尺度。
数据挖掘 ➡ 预处理_第5张图片

2.3 处理数据冗余

整合数据总会出现数据冗余,

  • 我们要通过相关性分析和协方差分析可以检测到冗余的属性。
  • 仔细集成来自多个数据源,可能有助于减少/避免冗余和不一致的地方并提高读取速度和质量。

2.4 相关分析(离散变量)

2.4.1 卡方检验

X2值越大,越有可能变量是相关的,相关性并不意味着因果关系。
数据挖掘 ➡ 预处理_第6张图片
数据挖掘 ➡ 预处理_第7张图片

2.4.2 相关系数(皮尔逊相关系数)

数据挖掘 ➡ 预处理_第8张图片
其中n是元组的数目,而p和q是各自属性的具体值,σp和σq是各自的标准偏差。
数据挖掘 ➡ 预处理_第9张图片
数据挖掘 ➡ 预处理_第10张图片

2.4.3 协方差

数据挖掘 ➡ 预处理_第11张图片其中n是元组的数目,而p和q是各自属性的具体值,σp和σq是各自的标准差。

  • 正相关:COV(p, q) > 0
  • 负相关:COV(p, q) < 0
  • 独立性:COV(p, q) = 0
    数据挖掘 ➡ 预处理_第12张图片

2.5 数据规约

2.5.1 维归约(降维 dimensionality reduction)

减少所考虑的随机变量或属性的个数。维归约方法包括小波变换 和主成分分析,它们把原数据变换或投影到较小的空间。属性子集选择是-种维归约方法,其中不相关、弱相关或冗余的属性或维被检测和删除。

2.5.1-1 离散小波变换(DWT)

离散小波变换(DWT) 是一种线性信号处理技术。小波变换后的数据可以截短,仅存放一小部分最强的小波系数,就能保留近似的压缩数据。在小波空间进行计算的话,利用数据稀疏特点的操作计算得非常快。该技术也能用于消除噪声,而不会光滑掉数据的主要特征,使得它们也能有效地用于数据清理。

DWT与离散傅里叶变换(DFT)有密切关系。DFT是一种涉及正弦和余弦的信号处理。

一般来说DWT是一种更好的有损压缩。同比DWTshi更接近原数据。

2.5.1-2 主成分分析(principal components analysis)
  • 假设待归约的数据由用n个属性或维描述的元组或数据向量组成。主成分分析(principal components analysis)或PCA (又称Karhunen-Loeve或K-L方法)搜索k个最能代表数据的n维正交向量,其中k≤n。这样,原数据投影到一个小得多的空间上,导致维归约。

PCA主成分分析法核心idea

  • 数据中很多属性之间可能存在这样或那样的相关性。

  • 能不能找到一个方法,将多个相关性的属性组合仅仅形成一个属性?

  • 主成分分析就是设法将原来众多具有一定相关性的属性(比如p个属性) ,重新组合成一组相互无关的综合属性来代替原来属性。通常数学上的处理就是将原来个属性作线性组合,作为新的综合属性。
    数据挖掘 ➡ 预处理_第13张图片

  • PCA可以用于有序和无序的属性,并且可以处理稀疏和倾斜数据。多于二维的多维数据可以通过将问题归约为二维问题来处理。

  • 主成分可以用做多元回归和聚类分析的输入。与小波变换相比,PCA能够更好地处理稀疏数据,而小波变换更适合高维数据。

总结:

  1. 需要降维的场景
  2. 数据稀疏,维度高
  3. 高维数据采用基于规则的分类方法
  4. 采用复杂模型,但是训练集数目较少
  5. 需要可视化

选择越少的主成分,降维就越好。标准是什么呢?那就是这些被选的主成分所代表的主轴的长度之和占了主轴长度总和的大部分
数据挖掘 ➡ 预处理_第14张图片

2.5.2 数量规约(降数据):

用替代的、较小的数据表示形式替换原数据。

2.5.2-1 抽样法

简单随机抽样 (Simple Random Sampling)

  • 相等的概率选择。
  1. 不放回抽样(Sampling without replacement) :一旦对象被选中,则将其删除。

  2. 有放回抽样(Sampling with replacement):选择对象不会被删除。

分层抽样:

  1. 每组抽相同个数;
  2. 用于偏斜数据。

数据压缩: 对原数据进行数据压缩,有无损于有损之分。维归约、数量规约都可以视为某种形式的压缩。

2.6 数据转换和离散化

规范化:按比例缩放到一个具体区间

2.6.1 最小-最大规范化

在这里插入图片描述

2.6.2 Z-得分正常化

在这里插入图片描述

2.6.3 小数定标规范化

在这里插入图片描述

2.6.4 非监督离散化方法:

  • 等宽法: 根据属性的值域来划分,使每个区间的宽度相等。
  • 等频法: 根据取值出现的频数来划分,将属性的值域划分成个小区间,并且要求落在每个区间的样本数目相等。
  • 聚类: 利用聚类将数据划分到不同的离散类别

3. 特征构造

机器学习行内有句被奉为真理的话,数据和特征决定了机器学习的上限,模型和算法只是逼近这个上限而已。

当数据质量不高、特征信息不明显,通常需要构造新特征。

  • 基本特征构造法(再原特征基础上进行 除数, 对数,指数变换)
  • 时间类型数据特征构造法
  • 时间序列数据特征构造法
  • 当数据中既有连续数据,又有离散数据时,当采用类似神经网络这种优化机器学习方法,则需要将离散数据特征进行哑编码。

小结:

  • 数据质量用准确性、完整性、一致性、时效性、可信性和可解释性定义。质量基于数据的应用目的评估。
  • 数据清理例程试图填补缺失的值,光滑噪声同时识别离群点,并纠正数据的不-致性。 数据清理通常是一个两步的迭代过程,包括偏差检测和数据变换。
  • 数据集成将来自多个数据源的数据整合成一致的数据存储。 语义异种性的解决、元数据、相关分析、元组重复检测和数据冲突检测都有助于数据的顺利集成。
  • 数据归约得到数据的归约表示,而使得信息内容的损失最小化。数据归约方法包括维归约、数量归约和数据压缩。维归约减少所考虑的随机变量或维的个数,方法包括小波变换、主成分分析。数量归约方法使用参数或非参数模型,得到原数据的较小表示。参数模型只存放模型参数,而非实际数据。例如回归和对数线性模型。非参数方法包括直方图、聚类、抽样和数据立方体聚集。
  • 数据压缩方法使用变换,得到原数据的归约或“压缩”表示。如果原数据可以由压缩后的数据重构,而不损失任何信息,则数据压缩是无损的;否则,它是有损的。
  • 数据变换例程将数据变换成适于挖掘的形式。例如,在规范化中,属性数据可以缩放,使得它们可以落在较小的区间,如0.0 到1.0。其他例子包括数据离散化和概念分层产生。
  • 数据离散化通过把值映射到区间或概念标号变换数值数据。这种方法可以用来自动地产生数据的概念分层,而概念分层允许在多个粒度层进行挖掘。离散化技术包括分箱、直方图分析、聚类分析、决策树分析和相关分析。对于标称数据,概念分层可以基于模式定义以及每个属性的不同值个数产生。
  • 尽管已经开发了许多数据预处理的方法,由于不一致或脏数据的数量巨大,以及问题本身的复杂性。数据预外理仍然县–个活跃的研究领域。

你可能感兴趣的:(机器学习,数据挖掘,机器学习,数据挖掘)