Python方差特征過濾的實例分析
1、通過特征本身的方差來篩選特征。特征的方差越小,特征的變化越不明顯。
2、變化越不明顯的特征對我們區(qū)分標簽沒有太大作用,因此應該消除這些特征。
實例def variance_demo(): ''' 過濾低方差特征 :return: ''' # 1. 獲取數(shù)據(jù) data = pd.read_csv(’factor_returns.csv’) data = data.iloc[:, 1:-2] print(’data:n’, data) # 2. 實例化一個轉(zhuǎn)換器類 transfer = VarianceThreshold(threshold=10) # 3. 調(diào)用fit_transform() data_new = transfer.fit_transform(data) print(’data_new:n’, data_new, data_new.shape)return None
知識點擴充:
方差過濾法
VarianceThreshold 是特征選擇的一個簡單基本方法,其原理在于–底方差的特征的預測效果往往不好。而VarianceThreshold會移除所有那些方差不滿足一些閾值的特征。默認情況下,它將會移除所有的零方差特征,即那些在所有的樣本上的取值均不變的特征。
sklearn中的VarianceThreshold類中重要參數(shù) threshold(方差的閾值),表示刪除所有方差小于threshold的特征 #不填默認為0——刪除所有記錄相同的特征。
import pandas as pdimport numpy as npnp.random.seed(1) #設置隨機種子,實現(xiàn)每次生成的隨機數(shù)矩陣都一樣a= np.random.randint(0, 200,10)b= np.random.randint(0, 200,10)c= np.random.randint(0, 200,10)d= [9,9,9,9,9,9,9,9,9,9]data=pd.DataFrame({'A' : a,'B' : b,'C' : c,'D' : d})datafrom sklearn.feature_selection import VarianceThresholdsel_model = VarianceThreshold(threshold = 0)#刪除不合格特征之后的新矩陣sel_model.fit_transform(data)
到此這篇關(guān)于Python方差特征過濾的實例分析的文章就介紹到這了,更多相關(guān)Python方差特征過濾的實現(xiàn)內(nèi)容請搜索好吧啦網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持好吧啦網(wǎng)!
相關(guān)文章:
1. Intellij IDEA 2019 最新亂碼問題及解決必殺技(必看篇)2. 《javascript設計模式》學習筆記三:Javascript面向?qū)ο蟪绦蛟O計單例模式原理與實現(xiàn)方法分析3. 利用django創(chuàng)建一個簡易的博客網(wǎng)站的示例4. 未來的J2EE主流應用框架:對比Spring和EJB35. JS繪圖Flot如何實現(xiàn)動態(tài)可刷新曲線圖6. ASP.NET MVC獲取多級類別組合下的產(chǎn)品7. JS+css3實現(xiàn)幻燈片輪播圖8. 關(guān)于HTML5的img標簽9. Android自定義View實現(xiàn)掃描效果10. PHP5.0正式發(fā)布 不完全兼容PHP4 新增多項功能
