机器学习从入门到入职:用sklearn与keras搭建人工智能模型
上QQ阅读APP看本书,新人免费读10天
设备和账号都新为新人

4.1 数据预处理的种类

数据预处理是指对所收集的数据进行审核、筛选、排序、变换及变形等。数据为什么需要预处理?

手段都是服务于目的的。现实世界中数据大体上都是不完整、不一致的脏数据,无法直接进行数据挖掘,或者挖掘结果差强人意;还存在数据结构的缺陷问题,如各个不同维度上的数据取值范围差异过大,或者需要中心化等;对分类、文本及图像数据无法直接处理,为了提高数据挖掘的质量产生了数据预处理技术。数据预处理有多种方法:数据清理、数据集成、数据变换、数据归约等。这些数据处理技术在模型训练之前使用,大大提高了数据挖掘模式的质量,降低了实际挖掘所需要的时间。

如果根据用途分类,数据预处理大致可以分为如下几类。

缺失值处理——在数据采集过程中容易产生数据的缺失,而这些数据在样本比较小的时候,无法简单地将缺失数据抛弃,此时缺失值处理很有必要,缺失值处理在这种情况下通常涉及缺失值插补操作,如特殊值插补、均值插补、矩阵补全等。

数据的标准化、规范化——数据标准化是将样本的属性缩放到某个指定的范围;数据规范化是将样本的某个范数(如范数L1)缩放到1,规范化的过程是针对单个样本的,将每个样本缩放到单位范数。

稀疏化——将稠密的特征项进行稀疏化处理,通过只存储和处理非零元素,从而大幅度降低存储空间需求及计算复杂度。

特征编码——对一些非数据化特征,通常是类别特征,进行编码使其转化成一种数字化特征,使其能够被模型所训练,常见的方法有特征二元化、独热编码等。

特征提取——在针对复杂的非数据化特征(如文本或者图像等)进行提取时,从给定的特征集合中选出相关特征子集的过程称为特征选择。在此应注意与特征编码进行区分,特征编码本质上是对特征进行变换,从一种形式转化为另一种形式,其呈现方式产生变化;特征提取则是通过判断一个“像素”集合是否属于某种特征,是对数据维度的特定集合组合的提取。

上述分类并不是相互独立的,部分分类是有重合的,其分类依据在于其应用场景,这五大场景能够涵盖通常的数据预处理。后续章节将会详细介绍其具体方法及其代码实现。