3.4数据预处理(四) - 数据转换(Data Transform)

时间:2024-04-13 18:16:42

简介

数据经过集成、清理与规约等步骤后,我们很可能要将数据进行标准化、离散化、分层化。这些方法有些能够提高模型拟合的程度,有些能够使得原始属性被更抽象或更高层次的概念代替。这些方法统一可以称为数据转换(Data Transform)。

一句话解释版本:

数据转换就是通过标准化、离散化与分层化让数据变得更加一致,更加容易被模型处理。

 

数据分析与挖掘体系位置

数据转换是有数据预处理中的一个过程。所以其在数据分析与数据挖掘中的位置如下图所示。

3.4数据预处理(四) - 数据转换(Data Transform)

 

数据转换的方法

数据转换的方法有下面三种:

  • 数据标准化(Data Standardization):将数据按比例缩放,使数据都落在一个特定的区间。
  • 数据离散化(Data Discretization):将数据用区间或者类别的概念替换。
  • 数据泛化(Data Generalization):将底层数据抽象到更高的概念层。

下面逐一讲解具体的处理方法。

数据标准化

数据标准化的目的是避免数据量级对模型的训练造成影响。其y应用较多的方法有:

  1. 最大-最小标准化
  2. Z-Score标准化
  3. 小数定标标准化

最大最小标准化

找出变量的最大值与最小值,最大值定义为M,最小值定义为N。

假设我们希望将变量中的所有值转换到0与1之间。

则,变化公式为:

3.4数据预处理(四) - 数据转换(Data Transform)

Z-Score标准化

通过总体数据的均值(μ),总体数据的标准差(σ)以及个体的观测值(x),并代入Z-Score的公式即可实现标准化,即:

3.4数据预处理(四) - 数据转换(Data Transform)

具体请见3.4.2数据标准化(一) - Z-Score标准化

小数定标标准化

小数定标法通过整体移动变量的小数点位置达到标准化。移动的位数取决于变量的最大值。

比如说,变量的最大值为789,则需要移动的位数是1000,那么就把变量中所有的数据除以1000,全部数据被规范到1以内。

 

数据离散化

数据离散化的方法与数据清理与数据规约的方法有重合之处。毕竟在数据预处理中,很多理念是相通的,数据离散化中较常用的方法有如下几个:

  1. 分箱离散化
  2. 直方图离散化
  3. 聚类分类离散化
  4. 相关度离散化

分箱离散化

分箱的概念在3.4数据预处理(二) - 数据清洗(Data Cleaning)一章中已经有所交代。

简单说,分箱就是将数据排序,其次将数据分入等频的箱中。将箱中的值统一替换成同样的指标值。分箱方法对箱子的个数很敏感,同时,当数据中outlier很多时,也容易影响分箱结果。

直方图离散化

直方图离散化的概念在3.4数据预处理(三) - 数据规约(Data Reduction)一章中已经有所交代。

其实,直方图离散化与分箱离散化是很相似的。它与分箱都是无监督技术。它通过将值分为相等的分区,把值离散化到不同的柱中,保证直方图每个柱中的数据相同,或者直方图的每个柱子相隔同等距离。

聚类分类离散化

聚类分类离散化的概念在3.4数据预处理(三) - 数据规约(Data Reduction)一章中也已经有所交代。

不管是用聚类方法还是分类方法,都是将变量的值分为簇或组。簇或组内的值用统一的属性代替,由此实现离散化。

相关度离散化

ChiMerge方法是相关度离散化的一种手段。它采取自下而上的方式,通过递归找到邻近的区间,通过不断的合并形成大区间。

ChiMerge的合并依据是卡方检验值,具有较小卡方值的数据会被合并在一起。之后不断循环递归。

 

数据泛化

数据泛化起源与属性的概念分层。数据泛化就是将数据的分层结构进行定义,把最底层粒度的数据不断抽象化。