数据预处理有多种方法:数据清理、数据集成、数据变换、数据归约等。如果根据用途分类,数据预处理大致可以分为如下几类
- 缺失值处理----在数据采集过程中容易产生数据的缺失,而这些数据在样本比较小的时候,无法简单地将缺失数据抛弃,此时缺失值处理很有必要,缺失值处理在这种情况下通常涉及缺失值插补处理,如特殊值插补、均值插补、矩阵补全等。
- 数据的标准化、规范化----数据标准化是将样本的属性缩放到某个指定的范围;数据规范化是将样本的某个范数(如范数L1)缩放到1,规范化的过程是针对单个样本的,将每个样本缩放到单位范数。
- 稀疏化----将稠密的特征项进行稀疏化处理,通过只存储和处理非零元素,从而大幅度降低存储空间需求及计算复杂度。
- 特征编码----对一些非数据化特征,通常是类别特征,进行编码使其转化成一种数字化特征,使其能够被模型所训练,常见的方法有特征二元化、独热编码等。
- 特征提取----在针对复杂的非数据化特征(如文本或者图像等)进行提取时,从给定的特征集合中选出相关特征子集的过程称为特征选择。在此应注意和特征编码进行区分,特征编码本质上是对特征进行变换,从一种形式转化为另一种形式,其呈现方式产生变化;特征提取则是通过判断一个"像素"集合是否属于某种特征,是对数据维度的特定集合组合的提取。
上述分类并不是相互独立的,部分分类是有重合的,其分类依据在于应用场景,这五大场景能够涵盖通常的数据预处理。
什么是缺失值?不仅仅是某个维度上的数据为空,NaN或者Null,任何没有实际意义的数据字符或者认定标识为空的字符(串)都可以视作缺失值