機器學習實戰-特徵選擇之遞歸特徵消除

目錄

介紹遞歸特徵消除RFE

介紹基於交叉驗證的RFECV

數據特徵提取


上一篇:機器學習實戰-特徵選擇之嵌入法

機器學習裏面,我們梳理了過濾法,嵌入法,本篇我們來講解一下包裝法。

機器學習實戰-特徵選擇之遞歸特徵消除

 

本文章節

1、介紹遞歸特徵消除RFE

2、介紹基於交叉驗證的RFECV

3、數據特徵提取

介紹遞歸特徵消除RFE

在Wrapper裏面有個很重要的東西,遞歸特徵消除,Recursive Feature Elimination,簡稱RFE.

同學以後見到算法中的RFE就別迷茫了,其實就是遞歸特徵消除,這個從字面上非常好理解,我們採用某一個模型,例如邏輯迴歸LogisticRegression,針對我們的數據進行多次的訓練,每一次訓練後,都會根據權值係數來移除權重比較低的特徵,此時,再根據新的特徵,繼續下一輪的特徵,這就是遞歸特徵消除,不知道這樣說是否簡單些。

我們研究sklearn官方,它給出了一定的說明:針對那些特徵含有權重的預測模型,RFE通過遞歸的方式,不斷減少特徵集的規模來選擇需要的特徵。

第一:給每一個特徵指定一個權重,接着採用預測模型在這些原始的特徵上進行訓練。

第二:在獲取到特徵的權重值後,對這些權重值取絕對值,把最小絕對值剔除掉。

第三:按照這樣做,不斷循環遞歸,直至剩餘的特徵數量達到所需的特徵數量。

介紹基於交叉驗證的RFECV

在數據訓練的過程中,我們經常採用K折交叉驗證來進行調參,RFE也可以進化,這個叫做RFECV,其實簡單裏面就是:採用交叉驗證的遞歸特徵消除,RFECV,這樣做的目的只有一個,選擇最佳數量的特徵。

機器學習實戰-特徵選擇之遞歸特徵消除

 

我這裏描述一下其過程:假定我們有N個特徵的集合,那這個時候計算一下它的所有子集的個數爲2的N次方減一(包含了空集合)。接着,我們選擇一個算法,例如決策樹、SVM等,通過算法來計算所有子集的驗證誤差(validation error),然後選擇那個誤差率最小的子集所選擇的特徵。

備註:在做交叉驗證的時候,不做特殊要求的時候,小編一般採用準確率來判斷;特殊要求的時候,例如分類,不平衡分類等,取重要類別的精準率來做判斷。

數據特徵提取

在本次實驗中,我們分別提取5個特徵,10個特徵,算法上採用邏輯迴歸來做

機器學習實戰-特徵選擇之遞歸特徵消除

 

機器學習實戰-特徵選擇之遞歸特徵消除

 

可以很直接看出,採用了5次與10次的結果。

這裏不知道有沒有同學發現,這個10次得到的結果跟以前得到的結果是一樣,也就是說,刪除掉的特徵是一樣的。舉一反三,在分類器中,有弱分類器與強分類器之分,像決策樹是弱分類器,隨即森林是強分類器,強分類器是由N個弱分類器組合而成,那我們在進行特徵提取的時候是否也可以做強特徵提取。

1、採用不同提取特徵的方法,提取N個特徵

2、對每一個方法所提取到的特徵做交集,從而達到提取權重都高的特徵。

在本次數據提取中,我們提取到的特徵都是一樣的,因爲我們的特徵比較少,有很多特徵的同學可以試試看。

至此,特徵提取的方法告一段落,接下來,我們開始做分類。

--END--

作者:溪雲閣

原創作品,抄襲必究。

部分圖片來源網絡,如侵權請聯繫刪除,謝謝!

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章