Pca

使用主成分分析 (PCA) 進行特徵選擇

  • April 28, 2012

我是特徵選擇的新手,我想知道您將如何使用 PCA 來執行特徵選擇。PCA 是否為每個輸入變量計算一個相對分數,您可以使用它來過濾掉非信息性輸入變量?基本上,我希望能夠通過方差或包含的信息量對數據中的原始特徵進行排序。

使用 PCA 作為特徵選擇工具時的基本思想是根據變量係數(負荷)的大小(絕對值從最大到最小)來選擇變量。您可能還記得 PCA 試圖取代(或多或少相關的)變量原始變量的不相關線性組合(投影)。讓我們忽略如何選擇最優對於手頭的問題。那些 主成分通過其解釋方差按重要性排序,每個變量對每個成分的貢獻程度不同。使用最大方差標準類似於特徵提取,其中主成分用作新特徵,而不是原始變量。但是,我們可以決定只保留第一個組件並選擇具有最高絕對係數的變量;號碼可能基於變量數量的比例(例如,只保留前 10%變量)或固定截止值(例如,考慮歸一化係數的閾值)。這種方法與懲罰回歸(或PLS回歸)中的Lasso算子有一些相似之處。既不值,但要保留的組件數量也不是顯而易見的選擇。

使用 PCA 的問題是(1)所有原始變量的測量值都用於投影到低維空間,(2)只考慮線性關係,以及(3)基於 PCA 或 SVD 的方法作為單變量篩選方法(t 檢驗、相關性等),不考慮數據結構的潛在多變量性質(例如,變量之間的高階交互)。

關於第1點,已經提出了一些更精細的篩選方法,例如主要特徵分析或逐步方法,如基因表達研究中用於“基因剃須”的方法。此外,稀疏 PCA可用於根據生成的變量負載執行降維和變量選擇。關於第 2 點,如果需要將非線性關係嵌入到低維空間中,則可以使用核 PCA(使用核技巧)。決策樹,或者更好的隨機森林算法,可能更能解決第 3 點。後者允許推導出基於基尼係數或排列的變量重要性度量。

最後一點:如果您打算在應用分類或回歸模型之前執行特徵選擇,請務必對整個過程進行交叉驗證(參見《統計學習要素》Ambroise 和 McLachlan,2002的第 7.10.2 節)。


由於您似乎對 R 解決方案感興趣,我建議您查看caret包,其中包含許多方便的函數,用於在分類或回歸上下文中進行數據預處理和變量選擇。

引用自:https://stats.stackexchange.com/questions/27300

comments powered by Disqus