機器學習實戰-特徵選擇之過濾法

目錄

數據加載及展示

低方差特徵過濾

單變量特徵過濾


上一篇:機器學習實戰-特徵選擇

上一篇文章裏面,我們主要介紹了特徵選擇的三種方法,這篇文章小編就來介紹過濾法。

考慮到很多同學剛開始學,這裏不會介紹算法公式,相比與高校或者實驗室裏面,很多同學應該都懂,但是沒接觸過的同學,又看不懂,所以小編直接不講,這裏只講怎麼用,以便同學可以更快上手,如果有興趣研究算法內容的同學,自行百度即可,都是公式的。

備註:算法中的數據,我會採用真實現網的中的部分數據來實現

機器學習實戰-特徵選擇之過濾法

 

本文章節

1、數據加載及展示

2、低方差特徵過濾

3、單變量特徵過濾

數據加載及展示

爲什麼會直接把這個東西放在這裏,有以下兩個原因

1、數據是取自生產上的數據,更接近真實性,目前網上的數據千篇一律,你看不出個所以然來。

2、數據我做了一次簡單的清洗,對於後面的分類有比較好的效果。

3、數據如圖1所示,目前主要是做分類,包含後面的特徵選擇也會針對分類來做,有13個特徵,1個標籤,這裏是二分類的做法。

機器學習實戰-特徵選擇之過濾法

圖1:數據

低方差特徵過濾

低方差特徵過濾算是最簡單的做法,怎麼去理解這個東西?

我模擬個場景,假定圖1的特徵3,裏面都是0,此時對於我們業務來說,是不是無用的?因爲無論怎麼做,這個數據還是不變的,對業務沒有任何影響,此時的做法是直接刪掉。

低方差特徵過濾的做法與這個類似,我們給定個標準,也加閾值,但是這裏有個地方需要注意一下:使用這種方法的時候,特徵值必須都是離散型變量纔可以,此時如果是連續型,那就需要先進行離散化,這算是一個需要注意的點。

其實這種方法在現實中不會很好用,因爲需要的條件太過於極端,基本很少出現,出現的時候基本上肉眼能看出來,就給業務方幹掉了,不過我們還是來實驗一下。實驗結果如圖2

機器學習實戰-特徵選擇之過濾法

圖2:低方差特徵過濾

這裏小編設定閾值爲0.8,但是經過計算啊計算啊計算啊,特徵沒變。

其實這個很正常,畢竟是生產上面的數據,經過業務方篩選得到的,基本上都是有價值的數據,所以大夥對這個結果不要太驚訝,平常心,正常的。

單變量特徵過濾

單變量特徵過濾這個又是啥?直接從字面上來理解,我們的圖1中有13個特徵,採用某一種算法,獨立來計算每一種特徵的指標,根據指標的值來判斷哪些指標重要?哪些指標不重要,然後刪除笑掉這些指標即可。

其中,在進行單變量特徵選擇的時候,我們有兩個問題需要注意採用不同算法

1、針對分類問題,目前我們的實驗就是分類問題,可以採用卡方檢驗、f_classif、 mutual_info_classif、互信息來進行特徵提取。

2、針對迴歸問題,可以採用皮爾森相關係數、f_regression、 mutual_info_regression、最大信息係數進行特徵提取

接下來,我們來做個實驗,採用卡方檢驗、f_classif、 mutual_info_classif來實驗,其他的可以自行官網查找即可,基本類似。

機器學習實戰-特徵選擇之過濾法

圖3:驗證

從這個實驗中,我們採用了三種不同方式來進行特徵提取,只留下10個特徵,展示一下第一條數據,數據上都是一樣的,雖然計算方式不一樣,但是本質是一樣的,那些不重要的數據,已經通通被幹掉了,算是一個意料中,滿意的結果。

--END--

作者:溪雲閣

原創作品,抄襲必究。

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

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