数据的预处理包括以下几个方面:
1. 数据标准化
min-max标准化,
Z-score标准化,
小数定标标准化,
均值归一化法,
向量归一化法,
指数转换法,利用log函数,sigmoid函数,softmax函处理。
2. 数据离散化
等宽分组,等频分组,单变量分组,基于信息熵分组 离散化很少用
3. 数据抽样
数据抽样的目的在于减少数据的数量,减少计算资源开销。
方式:随机抽样,分层抽样,等距抽样
多大的样本量合适模型的训练,需要通过多次试验,选择准确率最高的时的样本数量为合适的训练集数量。
4.数据降维
方法有很多中,最长用的主成分分析的方式,也就是PCA,进行降维处理。
PCA的原理会用到,协方差的概念,特征矩阵和特征值的概念,特征值大的维度对应的特征矩阵更有可能保留下来。再与原矩阵向乘后,即可得到降维后的矩阵。可以通过下面的例子来感受一下。
对协方差的理解可以参考下面的博文:https://www.zhihu.com/question/20852004
关于求特征值和特征矩阵可以参考下面的博文:https://blog.csdn.net/baidu_38172402/article/details/82312967
代码连接如下:
链接:https://pan.baidu.com/s/1xVDWBNABiZ6MByIQ9_OWoQ
提取码:pflg
在进行数据的预处理之前,我们还需要进行数据的清理功能。
数据清理工作主要有下面几点:
1. 发现缺失值,处理办法:删除这行或者这列数据(当缺失值过多的时候),缺失值填充(使用平均数,中位数,或者利用回归分析的预测值都是可以的)。
2. 发现噪音数据:
利用正态分布,当变量值大于u+3σ或小于u-3σ的概率为千分之1.5, 这样的值可以认为是异常值。
tukey test算法 四分位算法。求集合的中位数Q2,下四分卫Q1,上四分位Q3。
最大估计,Q3+(Q3-Q1)*k ; 最小估计 :Q1-(Q3-Q1)*k
k = 1.5 时, 大于边界值,中度异常
k = 3 时, 大于边界值, 重度异常