Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/r/67.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
回归分析中QSAR数据的特征选择_R_Cross Validation_Feature Selection - Fatal编程技术网

回归分析中QSAR数据的特征选择

回归分析中QSAR数据的特征选择,r,cross-validation,feature-selection,R,Cross Validation,Feature Selection,我正在为我的数据做QSAR研究,在通过DRAGON软件运行我的结构并获得描述符后,我剩下383个描述符(删除常数和所有)。 现在我想对数据执行特征选择。其中n=26,p=383。那么我应该采取什么方法呢? 我已经做了一些逐步回归分析和遗传算法研究,以获得7个非常合适的描述符的R2值0.831。 但我也想尝试其他方法,如随机森林法,PLS或PCA对我的数据。我用R表示同样的意思。因此,任何关于可以使用的软件包的想法。我已经在使用Caret和Boruta软件包。 再加上交叉验证研究包的任何想法。我需

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


感谢您的帮助。

如果您使用随机森林或梯度增强算法,它们有时已经实现了一个函数,显示每个功能的“重要性”分数

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

由于您有许多功能,您可能会首先使用随机的功能子集运行,然后删除未使用或很少使用的功能


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

您有26个观察结果和383个潜在功能?这是一项艰巨的任务。。。通常情况下,我会在每个子集上使用功能选择一次循环几个变量,并在运行时更新获胜的变量。谢谢Jason。甚至我在第一次尝试时也做了同样的事情。将数据集分成许多子集,然后进行特征选择。但我听说随机森林和pls特征选择方法也可以一次性处理这个庞大的数据集。所以我只是想知道是否有人知道如何在R中实现它!