数据预处理的流程是怎样的?

数据预处理的常见流程有:去除唯一属性、处理缺失值、属性编码、数据标准化和正则化、特征选择和主成分分析。

移除唯一属性

唯一属性通常是一些id属性,不能描述样本本身的分布规律,简单删除这些属性即可。

处理缺失值

处理缺失值的方法有三种:直接使用缺失值的特征;删除有缺失值的要素(当有缺失值的属性包含大量缺失值但只有少量有效值时,此方法有效);缺少值完成。

常见的缺失值补全方法:均值插值、齐次均值插值、建模预测、高维映射、多重插值、最大似然估计、压缩感知和矩阵补全。

(1)平均插值

如果样本属性的距离可测,则用该属性有效值的平均值对缺失值进行插值;

如果的距离不可测量,则使用属性有效值的模式对缺失值进行插值。如果使用模式插值,数据倾斜会有什么影响?

(2)相似均值插值

首先对样本进行分类,然后用该类样本的平均值对缺失值进行插值。

(3)建模和预测

以缺失属性为预测目标,根据数据集是否包含特定属性的缺失值将数据集分为两类,利用现有的机器学习算法预测待预测数据集的缺失值。

这种方法的根本缺陷是,如果其他属性与缺失属性无关,那么预测结果就没有意义;但如果预测结果相当准确,则说明这个缺失的属性没有必要包含在数据集中;一般来说,介于两者之间。

(4)高维映射

属性映射到高维空间,采用一键编码技术。包括K个离散值范围的属性值被扩展到K+1个属性值。如果缺少属性值,扩展的K+1属性值将设置为1。

这种方法是最精确的方法,它保留了所有的信息,不添加任何额外的信息。如果在预处理过程中所有变量都这样处理,数据的维数会大大增加。这样做的好处是完全保留了原始数据的所有信息,不考虑缺失值;缺点是计算量大大提高,只有在样本量很大的情况下效果才好。

(5)多重插补

多重插值认为要插值的值是随机的。在实际操作中,通常需要估计待插值的值,并加入不同的噪声,形成多组可选的插值值。根据一些选择依据,选择最合适的插值。

(6)压缩传感和矩阵完成

(7)手动插值

插值处理只是用我们的主观估计值来补充未知值,不一定完全符合客观事实。很多情况下,根据对领域的理解,手动内插缺失值更好。