PCA和随机森林


12

对于最近的Kaggle竞赛,我(手动)为我的训练集定义了10个其他功能,然后将其用于训练随机森林分类器。我决定在具有新功能的数据集上运行PCA,以查看它们之间的比较。我发现〜98%的方差由第一个分量(第一个特征向量)承载。然后,我多次训练分类器,一次添加一个功能,然后使用交叉验证和RMS误差比较分类的质量。我发现,每增加一个附加功能,分类都会有所改善,并且最终结果(包含所有10个新功能)远远优于(带有)两个功能的首次运行。

  • 鉴于PCA声称〜98%的方差在我的数据集的第一部分中,为什么分类的质量有了很大的提高?

  • 这对其他分类器是否成立?RF跨多个内核扩展,因此训练速度比(例如)SVM要快得多。

  • 如果将数据集转换到“ PCA”空间,然后在转换后的空间上运行分类器,该怎么办?我的结果将如何变化?


2
在运行PCA之前,您是否对数据进行了规范化?如果我不得不猜测,我会认为您的功能之一比其他功能要大得多……
— Marc Shivers

1
PCA功能会在执行计算时自动将所有内容标准化。
— 维沙尔

1
也许仅仅是我一个,但是您能否澄清以下几点:您的第一步是一次添加10个(原始)功能,还是直接使用PCA组件?如上所述,我知道这是第一种情况,您想知道是否可以直接使用PCA的结果。在这两种情况下,您是将PCA应用于所有变量(包括新功能)还是仅应用于后续变量?
— chl 2012年

我将PCA应用于具有10个附加功能的原始矩阵。然后,我通过一次添加一个功能来训练分类器,这样我就可以衡量每个功能的添加所带来的增量改进。我的问题是,如果我将数据集(具有10个新功能)转换到PCA空间中,然后直接在PCA空间中的数据集上运行分类器
— Vishal

Answers:


7

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

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


“没有理由相信将尽可能多的特征变化填入单个新特征中将捕获整个特征的大量预测能力。” 那从来都不是重点,这样做会导致分类器非常混乱!目的是要具有一系列功能,以说明数据集的不同方面,以减少泛化误差。采用PCA的目的是了解功能的不同之处。我发布的观点是我的功能并没有什么不同,但是RF的结果仍然有所改善。
— 维沙尔(Vishal)2012年

1
相同的逻辑仍然可以适用。一个新的功能是高度大肠杆菌,而先前的功能仍然可以带来更多的预测能力。专门针对randomForest:如果几乎重复的功能通常很重要,则现在更可能选择一个或另一个版本作为分割候选对象。
— 谢伊·帕克斯

这就引出了一个后续问题,您如何在不实际运行分类器的情况下为您的随机森林分类器选择先验特征以改善分类?有筛查程序吗?你怎么做呢?:)
— 维沙尔(Vishal)2012年

我不知道任何有用的先验选择方法。您可以通过一些R程序包(例如)进行重要性和选择的许多嵌套循环Boruta。我也没有发现它们有用。我认为相信任何给定功能均无效是不合理的。我相信强调某些功能优于其他功能可能很有用,但是基本的randomForest算法已经很好地做到了这一点。如果您对建模有深入的了解,并希望获得更高的性能,建议您将randomForest与其他算法(例如某些增强树)堆叠在一起。
— 谢伊·帕克斯

1
您可以根据您的特征(Jeffries-Matusita距离,发散度等)来为类计算一些可分离性度量。这可以帮助您大致了解哪些功能可以帮助您区分类别,但是由于RF的工作原理,很难从中选择哪些功能可以提供最佳分类。一个明显的障碍是,RF本身会发现可变的相互作用。
— JEquihua 2013年

6

第一个主要组成部分是所有功能的线性组合。它解释了几乎所有可变性的事实,仅意味着第一主成分中变量的大多数系数都是有效的。

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


3
“实际上,我们最近在PCA的CV上讨论了一篇论文”,您是否与此相关?我非常有兴趣:)
— user603 2012年

我将寻找讨论。
— Michael R. Chernick

请问您是否愿意看一下相关问题?
— nadya 2012年
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.