2015-03-08 87 views
0

我正在爲我的數據進行QSAR研究,並在通過DRAGON軟件運行我的結構並獲取描述符後,剩下383個描述符(移除常量和全部)。 現在我想對我的數據執行特徵選擇。其中n = 26和p = 383。那麼我應該遵循什麼方法? 我已經做了一些明智的迴歸分析以及遺傳算法研究,以獲得7個非常合適的描述符的R2值爲0.831。 但我想嘗試其他方法,例如隨機森林方法,PLS或PCA來處理我的數據。我使用相同的R。因此,可以使用的包的任何想法。我已經與Caret和Boruta包合作。 Plus交叉驗證研究包的任何想法。我需要執行LOOCV和Bootstrap。R中用於QSAR數據的特徵選擇用於迴歸分析

感謝您的幫助。

+0

您有26個觀察值和383個潛在特徵?這是一個TALL任務...通常,我將通過使用每個子集上的特徵選擇來一次循環幾個變量,並隨時更新獲勝變量。 – Jason 2015-03-08 22:09:52

+0

謝謝傑森。即使我在第一種方法中也是這樣做的。將數據集分成許多子集,然後用於特徵選擇。但是我聽說隨機森林並且要求特徵選擇方法可以與這個龐大的數據集一起工作。所以我只想知道是否有人知道如何在R中實現它! – 2015-03-11 04:07:01

回答

0

如果您使用隨機森林或梯度增強算法,它們有時會實現一個功能,顯示每個功能的「重要性」分數。

這基本上是算法選擇某個特徵的頻率。你可以運行你所有功能的算法,然後看看這個分數。在例如XGBoost未使用的功能甚至不會出現在該列表中。所以,你可以用它來測試哪些功能是重要的或不是。

由於您擁有許多功能,因此您可能會先使用隨機功能子集運行,然後終止不是或僅很少使用的功能。

我發現「重要性」這個詞在這裏有點誤導,因爲殺死很多「不重要」的功能可能會導致性能的降低。但是,測試無法使用的功能肯定是一個很好的策略。