一、数据降维

降维就是一种对高维度特征数据预处理方法。降维是将高维度的数据保留下最重要的一些特征,去除噪声和不重要的特征,从而实现提升数据处理速度的目的。在实际的生产和应用中,降维在一定的信息损失范围内,可以为我们节省大量的时间和成本。降维也成为应用非常广泛的数据预处理方法。

降维优点: 使得数据集更易使用、降低算法的计算开销、去除噪声、使得结果容易理解。

二、主成分分析(PCA)

2.1 PCA的作用
主成分分析算法(PCA)是最常用的线性降维方法,它的目标是通过某种线性投影,将高维的数据映射到低维的空间中,并期望在所投影的维度上数据的信息量最大(方差最大),以此使用较少的数据维度,同时保留住较多的原数据点的特性。

PCA降维的目的,就是为了在尽量保证“信息量不丢失”的情况下,对原始特征进行降维,也就是尽可能将原始特征往具有最大投影信息量的维度上进行投影。将原特征投影到这些维度上,使降维后信息量损失最小。

2.2 求解步骤
1.去除平均值
(求每一个特征的平均值,然后对于所有的样本,每一个特征都减去自身的均值。)

2.计算协方差矩阵
机器学习算法进阶(数据清洗和特征选择)
上述矩阵中,对角线上分别是特征x1和 x 2 的方差,非对角线上是协方差。协方差大于0表示x1和x2 若有一个增,另一个也增;小于0表示一个增,一个减;协方差为0时,两者独立。协方差绝对值越大,两者对彼此的影响越大,反之越小。

3.计算协方差矩阵的特征值和特征向量
利用矩阵的知识,求协方差矩阵 C 的特征值 λ和相对应的特征向量 u(每一个特征值对应一个特征向量):
机器学习算法进阶(数据清洗和特征选择)
特征值 λ会有N个,每个λi对应一个特征向量 ui,将特征值 λ 按照从大到小的顺序排序,选择最大的前k个, 并将其相对应的k个特征向量拿出来,我们会得到一组{(λ1,u1 ),(λ2,u2),…,(λk,uk )}

4.将特征值排序
5.保留前N个最大的特征值对应的特征向量
6.将原始特征转换到上面得到的N个特征向量构建的新空间中(最后两步,实现了特征压缩)
这个选取最大的前k个特征值和相对应的特征向量,并进行投影的过程,就是降维的过程
机器学习算法进阶(数据清洗和特征选择)
每一个样本Xi,由原来的X i = ( x1i,x2i) 变成了现在X i = y 1 i ,达到了降维的目的。

将这个二维的数据简化成一维?
机器学习算法进阶(数据清洗和特征选择)
机器学习算法进阶(数据清洗和特征选择)

2.3 PCA的API介绍
sklearn.decomposition.PCA

PCA(n_components=None),将数据分解为较低维数空间

PCA.fit_transform(X)
X:numpy array格式的数据[n_samples,n_features],返回值:转换后指定维度的array
机器学习算法进阶(数据清洗和特征选择)

分类:

技术点:

相关文章: