Machine-Learning
了解交叉驗證的遞歸特徵消除
我想了解遞歸特徵消除(RFE)與交叉驗證(CV)相結合的算法。Guyon 等人的原始資料。關於 RFE 可以在這裡找到。
- 我對 RFE 的理解:我們首先訓練我們的分類器——比如一個線性支持向量機——所有的特徵。這給了我們每個特徵的權重。這些權重的絕對值反映了每個特徵的重要性。我們刪除最不重要的特徵,再次進行訓練,獲得新的排名並繼續,直到我們對所有特徵進行排名
- 我的問題:我正在運行 RFE 交叉驗證(在具有此實現的 python 中)。在下面的示例中,有幾個特徵排名第一。這是怎麼回事?對於最終排名,我假設 RFE 消除必須重複進行,那麼這是否意味著 RFE 的多次應用,每次另一個功能都排名第一?這如何與交叉驗證相結合,當每個子集可能包含不同的特徵時,如何計算(見下圖)來自 1,2,3,..features 的分類精度?
假設您運行 3 倍 RFECV。對於每次拆分,訓練集將被 RFE 轉換 n 次(對於每個可能的 1..n 個特徵)。提供的分類器將在訓練集上進行訓練,並在測試集上計算分數。最終,對於每 1..n 個特徵,3 個不同拆分的平均結果會顯示在您包含的圖表上。然後,RFEVC 使用得分最高的特徵數對整個集合進行轉換。您看到的排名是基於最終的轉換。