【问题标题】:Feature Selection for QSAR data in R for regression analysisR中QSAR数据的特征选择用于回归分析
【发布时间】:2015-05-10 00:57:29
【问题描述】:

我正在对我的数据进行 QSAR 研究,在通过 DRAGON 软件运行我的结构并获得描述符之后,我剩下 383 个描述符(删除常量和所有)。 现在我想对我的数据执行特征选择。其中 n = 26 和 p = 383。那么我应该遵循什么方法呢? 我已经做了一些逐步明智的回归分析以及遗传算法研究,以获得 7 个非常合适的描述符的 R2 值为 0.831。 但我也想为我的数据尝试其他方法,例如随机森林方法、PLS 或 PCA。我正在使用 R 来做同样的事情。所以关于可以使用的包的任何想法。我已经在使用 Caret 和 Boruta 包。 加上交叉验证研究包的任何想法。我需要执行 LOOCV 和 Bootstrap。

感谢您的帮助。

【问题讨论】:

  • 您有 26 个观察值和 383 个潜在特征?这是一项艰巨的任务......通常我将使用每个子集的特征选择一次循环遍历几个变量,并在我进行时更新获胜变量。
  • 谢谢杰森。即使我在第一种方法中也做了同样的事情。将数据集分解为许多子集,然后进行特征选择。但我听说随机森林和 pls 特征选择方法也可以一次性处理这个庞大的数据集。所以我只是想知道是否有人知道如何在 R 中实现它!

标签: r cross-validation feature-selection


【解决方案1】:

如果您使用随机森林或梯度提升算法,它们有时已经实现了显示每个特征的“重要性”分数的函数。

基本上是算法选择某个特征的频率。您可以使用所有功能运行算法,然后查看此分数。在例如XGBoost 未使用的功能甚至不会出现在该列表中。因此,您可以使用它来测试哪些功能重要或不重要。

由于您有许多功能,您可能首先使用随机的功能子集运行,然后杀死不使用或很少使用的功能。

我发现“重要性”这个词在这里有点误导,因为杀死许多“不重要”的特性可能会导致相当大的性能损失。但是,测试不可用的功能肯定是一个很好的策略。

【讨论】:

    猜你喜欢
    • 2015-05-21
    • 2013-03-07
    • 2018-08-08
    • 2020-05-01
    • 2021-06-10
    • 2019-10-08
    • 2017-01-18
    • 2016-03-08
    • 2016-03-09
    相关资源
    最近更新 更多