目录
一、简介
1.1 PCA算法简介
PCA 是 (Principal Component Analysis )的缩写,中文称为主成分分析法。它是一种维数约减(Dimensionality Reduction)算法,即把高维度数据在损失最小的情况下转换为低维度数据的算法。 显然,PCA 可以用来对数据进行压缩,可以在可控的失真范围内提高运算速度,提高机器学习的效率,使较为复杂的数据简单化。
所谓损失最小就是从高维向低维映射的时候误差最小,低维空间的描述是向量组,k维空间就用k个向量来描述这个空间。
1.2 PCA算法流程
流程解释:
一个协方差矩阵有着不同的特征值与特征向量,最高特征值的对应的特征向量就是这个数据集的主成分。通常来说,一旦协方差矩阵的特征值和特征向量被计算出来了之后,就是按照特征值的大小从高到低依次排列。特征值的大小确定了主成分的重要性。
主成分分析的基本原理就是:选择特征值较大的作为主成分,从而进行降维。
比如:一开始数据集是N维的,在进行了协方差矩阵的特征值计算后,得到了N个特征值和与这些特征值相对应的特征向量。然后在主成分分析时,选取了前P个较大的特征值,如此一来,就将原来N维的数据降维到只有P维。这样就起到了降维的效果了。
1.3 PCA算法功能
PCA算法在机器学习中有许多用途,如:
1. 降维
PCA可以将高维数据集降到更低的维度,减少数据存储和处理的开销。
2. 压缩
PCA可以将数据集表示为比原始数据集更紧凑的形式,可以用于数据压缩。
3. 特征提取
PCA可以从原始数据集中提取最重要的特征,这些特征可以用于构建更好的模型。
4. 去噪
PCA可以帮助我们去除噪声,并且使数据集更具可分性。
二、算法实现
2.1 准备数据集
准备数据集:导入Scikit-learn库中的鸢尾花数据集