数据挖掘(数据预处理)

在获得了原始数据之后,通常来说并不能对其直接进行建模分析,需要在对数据建模分析之前进行若干预处理操作。

数据预处理包括大概四个部分:清理集成归约变形。数据预处理所得到的数据质量的好坏直接决定着后续数据模型性能的上界。

一. 数据清理(清洗掉数据中的重复样本、疑似错误的样本、偏离整体样本分布的样本等):

1. 对于缺失值,有以下处理方法:

  1. 忽略元祖。
  2. 手动填充缺失值。
  3. 使用属性的中心值填充。
  4. 使用同一类别中所有样本的属性均值或中位数填充。
  5. 使用出现概率最大的值进行填充(最常用)。

2. 对于噪声和离群点(一般都是为连续值的属性),有以下处理方法:

噪声是数据集中的随机误差值,也就是采集到的数据 = 真实数据 + 噪声 。噪声可以通过平滑数据或回归拟合来解决(分箱等方法),数据平滑方法

离群点是和大部分观测值明显不同的观测值(偏离整体样本分布的样本),但可能是真实的数据,也可能是由噪声产生的。离群点是在数据集中极端大或极端小,或是极端远离大部分数值的值。在数据预处理中,一般剔除掉离群点,离群点的检验和处理方法

二. 数据集成(合并来自多个存储的数据,解决冗余和不一致问题):

1. 实体识别:

有时会遇到多个数据库中不同的表,对于同一个属性会有不同的名字,举个例子:在student表中的cs_id代表选修课程id,而在课程表course中,id代表课程id。因此,在判断时可以判断数值范围/数据类型/名字/含义等等来进行数据集成,避免重复数据。

2. 冗余和相关分析:

使用卡方检验,相关系数,协方差等方法来计算不同特征之间的相关度,若有多个特征之间高度相关,则可将其剔除,避免冗余。举个例子,若数据集中包含有属性“身高(英尺)”与“身高(公尺)”,则该两属性之间呈高度线性相关(皮尔逊相关系数为1),因此仅需保留其中任一属性即可。 标称数据/数值数据的相关性检验:X方和pearson系数

三. 数据规约(对数据进行压缩,得到数据集的简约版):

数据规约将数据集的尺寸压缩,提高运算效率,但是也能起到与原数据集相同的作用。数据规约的方法有三种:1. 降维(PCA、LDA、DWT等方法) 2. 数据缩减 3. 数据压缩

四. 数据变形(数字化、离散化、归一化、标准化)

一个数据集中,各个维度的表示形式是不一样的,有些维度是类别形式(例如用户手机品牌,可能是苹果、华为、小米等等的类别值),而有些维度是数值型的(例如收入金额)。对于分类值,它们可以是标称值或序数;对于数值数据,还可以具有不同的统计特征(例如平均值、标准偏差)。但是,并非所有类型的数据都能满足数据挖掘模型的要求。同样,数据属性之间的差异可能给随后的数据挖掘模型优化工作带来麻烦。数据转换涉及修改数据的表示形式,以使其有资格成为数据挖掘模型的输入,并使数据挖掘模型的优化算法更容易生效。

1. 类别型变量数字化:

• 独热编码:也就是One-hot编码,将分类数据的每个可能值视为一个维度,并将1用作样本所属类别的维,否则为0。

• 顺序编码:对于分类数据的每个可能值,为其分配唯一的数字索引。

• 定制编码:定制编码基于为特定任务设计的规则,例如(word2vec, glove等)。

通常,独热编码适用于可能值较少的分类数据;如果可能的值太多(例如英语单词),则编码的数据集将庞大且稀疏。顺序编码不会产生巨大的输出,但是编码数据不像一键编码数据那么容易分离。定制编码,如果经过精心设计,通常可以在某种任务上表现良好,但是对于其他任务,应重新设计编码。

2. 连续型变量离散化:

有些数据挖掘算法,特别是某些分类算法(如朴素贝叶斯),要求数据是可数的(类别型属性),这样常常需要将连续型属性变换成分类型属性(离散化)。另外,如果一个分类型属性具有大量不同值,或者某些之出现不频繁,则对于某些数据挖掘任务,通过合并某些值减少类别的数目可能是有益的。

• 非监督的离散方法:例如等频率方法、等深方法。
• 有监督的离散方法:例如基于熵的方法等

参考:
数据离散化的方法(有监督&无监督)

3. 归一化与标准化:

由于不同的维度属性通常采用不同的单位制,因此它们的平均值和标准偏差通常不相同。但是,数值上的差异会使某些属性看起来更“重要”,而其他属性则没有。这种印象可能会对某些模型造成麻烦;典型的例子之一是KNN:较大的值会强烈影响距离比较,从而使模型主要考虑属性倾向于具有较大的数值。此外,对于神经元网络模型,不同的单位系统也将对梯度下降优化方法产生负面影响,迫使其采用较小的学习率。为了解决上述问题,应对数据进行归一化处理,将所有维度的数值范围缩放到同一个区间,从而消除量纲,常用的归一化方法有:

• Min-max规范化
• Z-score归一化
• 十进制缩放规范化

将数据集中的属性数值特征的值缩放为均值为0,方差为1的状态。标准化之后,数据的范围并不一定是0-1之间,数据不一定是标准正态分布,因为标准化之后数据的分布并不会改变,如果数据本身是正态分布,那进行标准化之后就是标准正态分布。

数据变形的几种方法
连续数值离散化
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

友情链接更多精彩内容