第一个主成分不分离类,但其他 PC 可以;这怎么可能?

机器算法验证 机器学习 分类 主成分分析 降维
2022-03-07 02:58:35

我在 17 个定量变量上运行 PCA,以获得一组较小的变量,即主成分,用于监督机器学习,将实例分为两类。PCA后PC1占数据方差的31%,PC2占17%,PC3占10%,PC4占8%,PC5占7%,PC6占6%。

然而,当我查看两个类别之间 PC 的平均差异时,令人惊讶的是,PC1 并不是两个类别之间的良好区分器。剩余的 PC 是很好的鉴别器。此外,PC1 在用于决策树时变得无关紧要,这意味着在树修剪后它甚至不存在于树中。该树由 PC2-PC6 组成。

这种现象有什么解释吗?派生变量可能有问题吗?

3个回答

如果在进行 PCA 之前未将变量缩放为具有单位方差,也会发生这种情况。例如,对于这些数据(请注意,比例仅从变为,而变为):y0.51x33

在此处输入图像描述

PC1 大约是并且几乎解释了所有的方差,但没有区分能力,而 PC2 是并且可以完美地区分类别。xy

我认为@Flounderer 提供的答案和示例暗示了这一点,但我认为值得一提。主成分分析(PCA)与标签(分类)无关。它所做的只是将一些高维数据转换到另一个维度空间。可能有助于分类尝试,例如,创建更容易通过特定方法分离的数据集。然而,这只是 PCA 的副产品(或副作用)。

当我们进行主成分分析时,主成分对应于最大可变性的方向,它们不能保证类别之间的最大区分或分离。

因此,第二个组件为您提供了良好的分类意味着该方向的数据可以让您更好地区分类别。当您执行线性判别分析 (LDA) 时,它会为您提供最佳的正交方向分量,以最大化类间距离并最小化类内距离。

因此,如果您对数据而不是 PCA 进行 LDA,那么最早的组件之一可能会更接近 PC6 而不是 PC1。希望这可以帮助。