PCA 和随机森林

机器算法验证 分类 主成分分析 随机森林
2022-03-06 05:04:44

在最近的 Kaggle 比赛中,我(手动)为我的训练集定义了 10 个附加特征,然后将它们用于训练随机森林分类器。我决定在具有新功能的数据集上运行 PCA,以查看它们之间的比较。我发现约 98% 的方差是由第一个分量(第一个特征向量)携带的。然后我多次训练分类器,一次添加一个特征,并使用交叉验证和 RMS 误差来比较分类的质量。我发现每增加一个特性,分类都会得到改善,最终结果(包含所有 10 个新特性)比第一次运行(比如说)2 个特性要好得多。

  • 鉴于 PCA 声称大约 98% 的方差在我的数据集的第一个组成部分中,为什么分类的质量会提高这么多?

  • 这适用于其他分类器吗?RF 可以跨多个内核扩展,因此它的训练速度比(比如说)SVM 快得多。

  • 如果我将数据集转换为“PCA”空间,并在转换后的空间上运行分类器会怎样。我的结果将如何变化?

2个回答

在进行预测建模时,您试图解释响应的变化,而不是特征的变化。没有理由相信将尽可能多的特征变化塞进一个新特征中会捕获整个特征的大量预测能力。

这通常被解释为主成分回归而不是偏最小二乘法之间的差异。

第一个主成分是所有特征的线性组合。它解释了几乎所有可变性的事实只是意味着第一主成分中变量的大多数系数都是显着的。

现在你生成的分类树也有点不同了。他们对连续变量进行二元拆分,以最好地分离您要分类的类别。这与找到给出最大方差方向的连续变量的正交线性组合并不完全相同。事实上,我们最近讨论了一篇关于 CV 的论文,其中 PCA 用于聚类分析,作者发现在某些情况下,最好的分离不是在第一个主成分中而是在最后一个主成分中。