由于实际收集到的机器学习数据集不可避免的会存在数据缺、数据集不平衡和数据集中各类数据非同一量级等情况,对缺失数据进行补全和对异常数据进行清洗、均衡化处理防止类别不平衡和数据标准化处理对于机器学习模型至关重要。
1 数据补全方法
有效地恢复缺失的数据是进行机器学习建模的重要前期准备工作。一方面可使得数据更完整,便于后续进一步的分析研究,另一方面,数据补全本身就是对信息进行挖掘的一种方式。
常见的数据补全方法包括均值补全、回归填补法、期望最大化填补法、高斯混合模型(Gaussian Mixture Model , GMM)补全、 C均值(C-Means)补全、 K近邻(K Nearest Neighbors , KNN)补全、决策树填补法等。
2 数据均衡方法
由于实际情况,例如在信用卡欺诈检测数据集中,大多数信用卡交易类型都不是欺诈,仅有很少一部分类型是欺诈交易,如此以来,非欺诈交易和欺诈交易之间的比率达到50:1,导致数据集不平衡问题,因此需要对数据进行均衡化处理以平衡各类,从而避免种类欠均衡而造成的负面效应。常见的均衡化方法有“欠采样”和“过采样”两类,“欠采样”就是从数量多的.类别中随机丢弃一些数据,从而保证类别均衡,而“过采样”则是增加数量较少样本的采样频率或对训练集数据进行插值来保证类别均衡。“欠采样”会导致训练数据规模减小,可能丢失数据,而“过采样”若直接对初始数据进行多次采样会导致严重的过拟合。
SMOTE是解决数据集不平衡问题的一种过采样方法。与一般的抽样方法不同,SMOTE并非简单地拷贝样本,而是按照一定规则合成少数类样本,以达到平衡类别的目的。
3 数据归一化
数据归一化处理是机器学习中的一项挖掘数据的基础工作,其目的是将取值范围相差较大的不同类型的测井曲线通过一种无量纲的处理手段,将原始数据值通过函数转换变成具有某种相对关系的相对值,数据量缩小到特定范围之内。
数据经过归一化处理后,各指标处于同一数量级,适合进行综合对比评价。以下是三种常用的归一化方法:
(1)最值归一化(min-max normalization, MMN)
也称为线性归一化,是对原始数据进行线性变换,将原始数据点映射到[ 0,1 ],也可以映射到自己定义的某个区间内。假设样本数据有 个,其转换函数如下:
其中Ximax为样本数据的最大值,Ximin为样本数据的最小值。
最值归一化的优点是,使用简单、快速、灵活,缺点是当数据存在极端点(如只有一两个数值极大或极小),将会影响整个数据处理过程,造成映射后数据质量很差。
(2)标准分数归一化方法(z-score normalization,ZSN)
原始数据经标准分数归一化后的数据呈标准正态分布,即均值是0,标准差为1。假设样本数据有 个,其转换函数如下所示:
其中为原始数据的均值, 为原始数据的标准差,是当前用得最多的数据标准化方式。
(3)中值归一化方法(median normalization,MDN)
中值归一化首先寻找原数据的中值,然后使用最大值最小值的差作为比例因子,将原始数据映射到某个区间内,一般是把零点作为区间中值,区间定为(-1,+1)或某个自定的范围。此方法多用于数据中没有错误样本,而只是单纯的将整个数据进行等比例的扩大或者缩小。
假设样本数据有 n个,其转换函数如下所示::