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

2020-12-15 架構師修煉之道

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

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

本文章節

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--

作者:溪雲閣

原創作品,抄襲必究。

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

相關焦點

  • 機器學習特徵選擇方法總結
    2.遵循過濾方法的相同目標,但使用機器學習模型作為其評估標準(例如,向前/向後/雙向/遞歸特徵消除)。我們將一些特徵輸入機器學習模型,評估它們的性能,然後決定是否添加或刪除特徵以提高精度。因此,這種方法可以比濾波更精確,但計算成本更高。3.嵌入方法。與過濾方法一樣,嵌入方法也使用機器學習模型。
  • Python機器學習8:機器學習中的兩種特徵選擇方法
    在機器學習中,通常遇到這樣一個問題:訓練數據的特徵個數非常多,而訓練數據的個數卻不多,此時,需要進行特徵選擇。本文將介紹如何使用scikit-learn做機器學習模型的特徵選擇。第一部分為特徵選擇的三大好處,後面二部分介紹了二種特徵選擇方法:RFE和決策樹。
  • 收藏 | 機器學習特徵選擇方法總結
    真正的挑戰是找出哪些特徵是最佳的使用特徵(這實際上取決於我們提供的數據量和我們正在努力實現的任務的複雜性)。這就是特徵選擇技術能夠幫到我們的地方!1.過濾方法=過濾我們的數據集,只取包含所有相關特徵的子集(例如,使用 Pearson 相關的相關矩陣)。2.遵循過濾方法的相同目標,但使用機器學習模型作為其評估標準(例如,向前/向後/雙向/遞歸特徵消除)。
  • 機器學習中特徵選擇怎麼做?這篇文章告訴你
    2.遵循過濾方法的相同目標,但使用機器學習模型作為其評估標準(例如,向前/向後/雙向/遞歸特徵消除)。我們將一些特徵輸入機器學習模型,評估它們的性能,然後決定是否添加或刪除特徵以提高精度。因此,這種方法可以比濾波更精確,但計算成本更高。3.嵌入方法。與過濾方法一樣,嵌入方法也使用機器學習模型。
  • 特徵選擇的通俗講解!
    真正的挑戰是找出哪些特徵是最佳的使用特徵(這實際上取決於我們提供的數據量和我們正在努力實現的任務的複雜性)。這就是特徵選擇技術能夠幫到我們的地方!1.過濾方法=過濾我們的數據集,只取包含所有相關特徵的子集(例如,使用 Pearson 相關的相關矩陣)。2.遵循過濾方法的相同目標,但使用機器學習模型作為其評估標準(例如,向前/向後/雙向/遞歸特徵消除)。
  • 特徵選擇的7種方式你會嗎?
    有時,正向選擇會導致過擬合,因為它會向模型中添加高相關變量,即使它們向模型提供了相同的數據(但模型顯示出了改進)。04逆向消除 逆向消除也包括逐步回歸的特徵選擇,其方式類似於正向選擇的逆過程。在這種情況下,初始模型從所有的自變量開始,如果這些變量不能在每次迭代中為新形成的回歸模型提供價值,那麼這些變量將被一個接一個地消除(每次迭代一次)。這也是利用初始統計模型獲得的P值,並基於這些P值,從模型中消除特徵。同時,使用這種方法,在去除高相關變量方面存在不確定性。
  • 機器學習之特徵工程Feature-Engineering及sklearn代碼實現
    那麼做好特徵工程,就非常有利於我們得到一個「更好的」模型;在機器學習的整個過程中特徵工程佔用了70~80%的時間,其完成質量也直接影響模型最終的輸出結果。就特徵工程的流程、類型、工具、數據預處理、特徵選擇、降維在學習之餘,做簡單的總結和介紹、附可執行的python代碼。
  • 機器學習實戰-監督學習、無監督學習
    上一篇:機器學習實戰-特徵選擇之遞歸特徵消除最近兩天收到同學的私信,對於算法中的一些監督學習,無監督學習不是很了解,也不知道從何下手,本篇小編就來介紹一下這三者是什麼東西。本文章節1、監督學習2、無監督學習3、兩者的區別4、兩者的使用場景監督學習監督學習,小編有個簡單的理解方式,按照這個順序來理解1、有兩撥人,一撥人是好人,一撥是壞人2、好人的行為特徵有:扶老奶奶過馬路,撿到一分錢交給警察叔叔,當志願者等等3、壞人的行為特徵有:偷東西
  • Python之特徵選擇實戰
    通過總結和歸納,人們認為特徵工程包括以下方面:  特徵處理是特徵工程的核心部分,sklearn提供了較為完整的特徵處理方法,包括數據預處理,特徵選擇,降維等。首次接觸到sklearn,通常會被其豐富且方便的算法模型庫吸引,但是這裡介紹的特徵處理庫也十分強大!  本文中使用sklearn中的IRIS(鳶尾花)數據集來對特徵處理功能進行說明。
  • 專欄 | 基於 Jupyter 的特徵工程手冊:特徵選擇(四)
    1.2.1.1 Recursive Feature Elimination (SBS) 遞歸式特徵消除在sklearn中,它僅實現遞歸特徵消除(SBS)方法。其提供了兩個函數來實現這一方法,一個是RFE,另一個是RFECV。與RFE函數相比,REFCV使用交叉驗證的結果來選擇最優的特徵數量,而在RFE中,要選擇的特徵數量由用戶預定義。
  • 機器學習算法的特徵工程與意義詳解
    特徵工程是使用專業知識背景知識和技巧處理數據,是得特徵能在機器學習算法上發揮更好的作用的過程。 4、特徵選擇方法 特徵選擇意義: 冗餘:部分特徵相關度太高了,消耗計算性能 噪聲:部分特徵是對預測結果有負影響 特徵選擇VS降維: 前者剔除原本特徵裡和結果預測關係不大的
  • 5個特徵選擇算法,讓你的數據處理得心應手
    在文章開始之前,先來回答這個問題:為什麼不將所有的特徵都交給機器學習算法,讓它來決定哪些特徵比較重要呢?以下便是不能的三個原因:1. 包裝:包裝法將特徵選擇看作是搜索問題。如回歸特徵消除。 嵌入:嵌入法使用內置了特徵選擇方法的算法。比如,Lasso和RF都有各自的特徵選擇方法。理論已經講夠了,接下來開始說五個特徵選擇的方法。
  • 數據特徵選擇(二)
    5 兩種頂層特徵選擇算法之所以叫做頂層,是因為他們都是建立在基於模型的特徵選擇方法基礎之上的,例如回歸和SVM,在不同的子集上建立模型,然後匯總最終確定特徵得分。 5.1 穩定性選擇 Stability selection穩定性選擇是一種基於二次抽樣和選擇算法相結合較新的方法,選擇算法可以是回歸、SVM或其他類似的方法。
  • 如何進行特徵選擇(理論篇)機器學習你會遇到的「坑」
    這周我們來說說如何進行特徵選擇的問題。一個典型的機器學習任務,是通過樣本的特徵來預測樣本所對應的值。如果樣本的特徵少了,我們會考慮增加特徵,比如Polynomial Regression就是典型的增加特徵的算法。
  • 決策樹是如何選擇特徵和分裂點?
    我們需要對樣本的所有特徵計算信息增益情況,選擇信息增益大的特徵來作為決策樹的一個結點,或者可以說那些信息增益大的特徵往往離根結點越近。當一個特徵已經作為劃分的依據,在下面遞歸過程就不在參與了。經過根結點下面特徵各個取值後樣本又可以按照相應特徵值進行劃分,並且在當前的樣本下利用剩下的特徵再次計算信息增益來進一步選擇劃分的結點,ID3 決策樹就是這樣建立起來的。
  • 獨家 | 使用Python實現機器學習特徵選擇的4種方法(附代碼)
    本文中,我們將研究從數據集中選擇特徵的不同方法;同時通過使用Python中Scikit-learn (sklearn)庫實現討論了特徵選擇算法的類型。註:本文節選自Ankit Dixit所著的《集成機器學習》(Ensemble Machine Learning)一書。這本書組合強大的機器學習算法來建立優化模型,可以作為初學者的指南。
  • 推薦 :使用Python實現機器學習特徵選擇的4種方法(附代碼)
    本文中,我們將研究從數據集中選擇特徵的不同方法;同時通過使用Python中Scikit-learn (sklearn)庫實現討論了特徵選擇算法的類型。註:本文節選自Ankit Dixit所著的《集成機器學習》(Ensemble Machine Learning)一書。這本書組合強大的機器學習算法來建立優化模型,可以作為初學者的指南。
  • 機器學習中的特徵數據選擇三部曲
    這裡我們將對特徵工程中經常用到的特徵數據選擇方法進行介紹使用和說明,主要分為三個部分,分別為:單變量選擇、線性模型選擇和隨機森林模型特徵選擇。三部曲一:單變量選擇對於數據科學家或機器學習從業人員而言,對特徵選擇/排序有很好的了解可能是一筆寶貴的財富。對這些方法的良好掌握可以帶來更好的性能模型,可以更好地理解數據的底層結構和特徵,並可以更好地了解構成許多機器學習模型基礎的算法。
  • 機器學習特徵選擇常用算法
    綜述本文引用地址:http://www.eepw.com.cn/article/201807/383585.htm(1) 什麼是特徵選擇特徵選擇 ( Feature Selection )也稱特徵子集選擇( Feature Subset Selection , FSS ) ,或屬性選擇( Attribute Selection ) ,是指從全部特徵中選取一個特徵子集,使構造出來的模型更好
  • 觀點 | 三大特徵選擇策略,有效提升你的機器學習水準
    特徵選擇是數據獲取中最關鍵的一步,可惜很多教程直接跳過了這一部分。本文將分享有關特徵選擇的 3 個傑出方法,有效提升你的機器學習水準。