数据预处理步骤及方法


1、缺失值处理


1.1、造成缺失值原因


grafana 数据预处理_数据



缺失值处理原则: 使用最可能的值代替缺失值,使缺失值与其他数值之间的关系保持最大。


缺失值处理的方法很多,比如删除记录、均值填充、中位数填充等,具体方法如表1所示。


grafana 数据预处理_数据_02



2、异常值处理


grafana 数据预处理_缺失值_03


异常值是数据集中偏离大部分数据的数据。从数据值上表现为:数据集中与平均值的偏差 超过两倍标准差 的数据,其中与平均值的偏差超过三倍标准差的数据,称为高度异常的异常值。



删除异常值有整条删除和成对删除


3、数据集成


数据集成是将来自多个数据源的数据合并在一起,形成一致的数据存储,如将不同数据库中的数据集成到一个数据仓库中存储。数据集成主要涉及 冗余处理 和 冲突数据检测和处理 。


3.1 、冗余处理


数据冗余是指数据属性过多,且其中部分属性


冗余处理的主要方法是相关分析。


对于数值属性,通过计算属性 A 和 B 之间的相关系数来估计这两个属性的相关性即:



grafana 数据预处理_grafana 数据预处理_04



3.2、冲突数据检测与处理


数据集成时将一个数据库的属性与另一个匹配时,要考虑数据的结构,用来保证原系统中的属性函数依赖和参照约束与目标系统中的匹配。


例如,重量属性可能在一个系统中以公制单位存放,而在另一个系统中以英制单位存放。


4、数据标准化


grafana 数据预处理_数据_05



z-score 标准化方法是一种基于原始数据的均值 (mean) 和标准差 (standard deviation) 将原始数据标准化成均值为 0 方差为 1 的一种标准化方法,其公式为:


新数据 = (原始数据 - 原始数据均值) / 原始数据标准差


适用场景: 该方法适用于属性 A 的最大值和最小值未知的情况,或有超出取值范围的离群数据的情况


Decimal scaling小数定标标准化

Decimal scaling小数定标标准化方法是一种通过移动数据的小数点位置来进行标准化的方法,其中小数点移动多少位取决于属性A的取值中的最大绝对值。将属性A的原始值x使用decimal scaling标准化到x'的计算方法是:

x'=x/(10*j)   [其中,j是满足条件的最小整数]

案例:假定A的值由-986到917,A的最大绝对值为986,为使用小数定标标准化,我们用1000(即,j=3)除以每个值,这样,-986被规范化为-0.986。




向量归一化法


向量归一化法是一种基于数据最大值对数据进行转化标准化方法,其转化公式为:


grafana 数据预处理_数据分析_06



指标值均满足在 0~1 之间,并且正、逆向方向没变。


线性比例变化法


线性比例变换法是利用数据的线性比例关系对数据进行标准化处理的方法,其转化公式为


grafana 数据预处理_grafana 数据预处理_07


经过线性变换后,指标值均在0~1之间,正、逆向指标均化为正向指标,最优值为1,最劣值为0。




5、数据离散化





grafana 数据预处理_数据_08



5.1、  组距分组


组距分组是数据分箱最基本的方法,包括等距分组和非等距分组。


等距分组:各个组别的上限和下限的差,是相等的。


非等距分组:各个组别的上限和下限的差,不等。


需要注意的是: 分组后的数据,如果在后续建模中作为输入变量,用于对输出变量的分类预测,则不恰当的组距分组可能会使某些样本量失衡,影响模型的效果。


5.2、分位数分组


分为数分组也叫等频分组,是把观察点均匀分为 n 等份,每份内包含的观察点数相同。


例如:某个主套餐共有 5 万人订购,等频分段需要先把用户按订购时间按顺序排列,排列好后可以按 5000 人一组,把全部订购用户均匀分为十段。


5.3、单变量分组


单变量分组也称为秩分组。方法为将所有变量按降序或者升序排序,排序名次即为分组结果,即是将变量值相同的归为同一组内。


该方法适用于 变量的取值范围较小


5.4、基于信息熵的离散化


理论依据: 如果分组后的输入变量对输出变量取值的解释能力低于分组之前,那么这样的分组是没有意义的。


度量指标:信息熵、信息增益。


信息熵:平均信息量的测量指标。从数据分析角度看,极端情况下如果某输入变量只有一个取值,数据之间没有差异,则这个输入变量并没有给输出变量的分类预测带来任何有意义的信息,也就是说信息熵为 0 。


信息增益:指定输入变量组限值,可以帮助输出变量的分类预测,信息增益值越高,则输出变量的分类越准确,误差越小。