使用 Python 进行主成分分析 (PCA)

17 Mar 2025 | 5 分钟阅读

主成分分析 (PCA):是一种代数技术,用于将一组可能相关的变量的观测值转换为一组线性不相关的变量的值。

所有主成分的选择都是为了描述变量中可用方差的大部分,并且所有主成分都是相互正交的。在所有主成分组中,第一个主成分始终具有最大方差。

主成分分析的不同用途

  • PCA 可用于查找数据中各种变量之间的相互关系。
  • PCA 可用于解释和可视化数据集。
  • PCA 也可用于可视化群体之间的遗传距离和联系。
  • PCA 还通过减少变量数量来简化分析。

主成分分析通常在方阵上执行,这可以是纯平方和交叉乘积矩阵、相关矩阵或协方差矩阵。如果个体方差存在显著差异,则使用相关矩阵。

主成分分析的目标是什么?

PCA 的基本目标如下:

  • PCA 是一种非依赖方法,可用于将较大的变量集缩减为较小的因子集。
  • 它是一种降维技术,但不能保证降维后的维度是可解释的。
  • 在 PCA 中,主要工作是从较大的变量集中选择一个子集,具体取决于哪些原始变量与主成分具有最高的相关性。

主轴法:主成分分析通过提取变量中的最大方差来寻找变量的线性组合。一旦 PCA 完成了该过程,它将转向另一个线性组合,该组合将解释剩余方差的最大比例,从而导致集合的正交因子。此方法用于分析变量集中的总方差。

特征向量:它是矩阵乘法后保持平行的非零向量。假设 'V' 是维度为 R 的矩阵 K(维度为 R * R)的特征向量。如果 KV 和 V 平行。那么用户必须求解 KV = PV,其中 V 和 P 都是未知的,用于求解特征向量和特征值。

特征值:在 PCA 中,它也称为“特征根”。它用于衡量变量集中所有变量的方差,由该因子报告。特征值的比例是因子相对于变量的描述重要性的比率。如果因子较低,则对变量的描述贡献较小。

现在,我们将讨论使用 Python 进行主成分分析。

使用 Python 进行 PCA 的步骤如下:

在本教程中,我们将使用 wine.csv 数据集。

步骤 1:我们将导入库。

步骤 2:我们将导入数据集 (wine.csv)

首先,我们将导入数据集并将其分配到 X 和 Y 分量中以进行数据分析。

步骤 3:在此步骤中,我们将数据集分为训练集和测试集。

步骤 4:现在,我们将进行特征缩放。

在此步骤中,我们将对训练集和测试集进行重新处理,例如,拟合标准缩放。

步骤 5:然后,应用 PCA 函数

我们将将 PCA 函数应用于训练集和测试集进行分析。

步骤 6:现在,我们将为训练集拟合逻辑回归。

输出

LogisticRegression(random_state=0)

步骤 7:在此,我们将预测测试集的结果。

步骤 8:我们将创建混淆矩阵。

步骤 9:然后,预测训练集的结果。

输出

Principal Component Analysis (PCA) with Python

步骤 10:最后,我们将可视化测试集的结果。

输出

Principal Component Analysis (PCA) with Python

结论

在本教程中,我们学习了主成分分析及其在 Python 中的应用,它的用途、对象以及如何将其应用于数据集以分析数据的测试集和训练集。