数据预处理的主要步骤分为:数据清理、数据集成、数据规约和数据变换。
数据清理
数据清理(data cleaning) 的主要思想是通过填补缺失值、光滑噪声数据,平滑或删除离群点,并解决数据的不一致性来“清理“数据。
1、缺失值的处理
针对缺失值的处理方法,主要是基于变量的分布特性和变量的重要性采用不同的方法。主要有几种:
删除变量:若变量的缺失率较高(大于80%),覆盖率较低,且重要性较低,可以直接将变量删除。
定值填充:工程中常见用-9999进行替代
统计量填充:若缺失率较低(小于95%)且重要性较低,则根据数据分布的情况进行填充。
插值法填充:包括随机插值,多重差补法,热平台插补,拉格朗日插值,牛顿插值等
模型填充:使用回归、贝叶斯、随机森林、决策树等模型对缺失数据进行预测。
2、离群点处理
基于绝对离差中位数(MAD):采用计算各观测值与平均值的距离总和的方法。
基于距离:通过定义对象之间的临近性度量,根据距离判断异常对象是否远离其他对象。
基于密度:离群点的局部密度显著低于大部分近邻点,适用于非均匀的数据集
基于聚类:利用聚类算法,丢弃远离其他簇的小簇。
3、噪声处理
通常的办法:对数据进行分箱操作,等频或等宽分箱,然后用每个箱的平均数,中位数或者边界值(不同数据分布,处理方法不同)代替箱中所有的数,起到平滑数据的作用。
数据集成
数据集成将多个数据源中的数据结合成、存放在一个一致的数据存储,如数据仓库中。
1、实体识别问题
2、冗余问题。用相关性检测冗余:数值型变量可计算相关系数矩阵,标称型变量可计算卡方检验。
3、数据值的冲突和处理:不同数据源,在统一合并时,保持规范化,去重。
数据规约
数据归约技术可以用来得到数据集的归约表示,它小得多,但仍接近地保持原数据的完整性。
1、维度规约
用于数据分析的数据可能包含数以百计的属性,其中大部分属性与挖掘任务不相关,是冗余的。
2、维度变换
维度变换是将现有数据降低到更小的维度,尽量保证数据信息的完整性。
数据变换
数据变换包括对数据进行规范化,离散化,稀疏化处理,达到适用于挖掘的目的。
1、规范化处理
对差别较大的数据按照一定比例进行缩放,使之落在一个特定的区域,便于进行综合分析。特别是基于距离的挖掘方法,聚类,KNN,SVM一定要做规范化处理。
2、离散化处理
数据离散化是指将连续的数据进行分段,使其变为一段段离散化的区间。
3、稀疏化处理
针对离散型且标称变量,无法进行有序的LabelEncoder时,通常考虑将变量做0,1哑变量的稀疏化处理。
详细全文:
https://www.toutiao.com/i6759377247615844872/