目錄
上一篇:機器學習實戰-特徵選擇之嵌入法
機器學習裏面,我們梳理了過濾法,嵌入法,本篇我們來講解一下包裝法。
本文章節
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--
作者:溪雲閣
原創作品,抄襲必究。
部分圖片來源網絡,如侵權請聯繫刪除,謝謝!