推荐系统-数据预处理

数据的预处理包括以下几个方面:

1. 数据标准化

           min-max标准化,x' =\frac{x-x_{min}}{x_{max}-x_{min}}

           Z-score标准化,x' = \frac{x-\mu }{\sigma }

           小数定标标准化,x' = \frac{x}{10^{j}}

           均值归一化法,x' = \frac{x-\mu }{x_{max}-x_{min}}

           向量归一化法,x' = \frac{x}{\sum x_{i}}

           指数转换法,利用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 时, 大于边界值, 重度异常

 

 

 

你可能感兴趣的:(推荐系统-数据预处理)