Python方差特征過濾的實例分析
說明
1、通過特征本身的方差來篩選特征。特征的方差越小,特征的變化越不明顯。
2、變化越不明顯的特征對我們區(qū)分標簽沒有太大作用,因此應該消除這些特征。
實例
def variance_demo(): """ 過濾低方差特征 :return: """ # 1. 獲取數據 data = pd.read_csv('factor_returns.csv') data = data.iloc[:, 1:-2] print('data:\n', data) # 2. 實例化一個轉換器類 transfer = VarianceThreshold(threshold=10) # 3. 調用fit_transform() data_new = transfer.fit_transform(data) print('data_new:\n', data_new, data_new.shape) return None
知識點擴充:
方差過濾法
VarianceThreshold 是特征選擇的一個簡單基本方法,其原理在于–底方差的特征的預測效果往往不好。而VarianceThreshold會移除所有那些方差不滿足一些閾值的特征。默認情況下,它將會移除所有的零方差特征,即那些在所有的樣本上的取值均不變的特征。
sklearn中的VarianceThreshold類中重要參數 threshold(方差的閾值),表示刪除所有方差小于threshold的特征 #不填默認為0——刪除所有記錄相同的特征。
import pandas as pd import numpy as np np.random.seed(1) #設置隨機種子,實現(xiàn)每次生成的隨機數矩陣都一樣 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}) data from sklearn.feature_selection import VarianceThreshold sel_model = VarianceThreshold(threshold = 0) #刪除不合格特征之后的新矩陣 sel_model.fit_transform(data)
到此這篇關于Python方差特征過濾的實例分析的文章就介紹到這了,更多相關Python方差特征過濾的實現(xiàn)內容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關文章希望大家以后多多支持腳本之家!
相關文章
Python使用Keras庫中的LSTM模型生成新文本內容教程
Python語言使用金庸小說文本庫,對文本進行預處理,然后使用Keras庫中的LSTM模型創(chuàng)建和訓練了模型,根據這個模型,我們可以生成新的文本,并探索小說的不同應用2024-01-01使用Fabric自動化部署Django項目的實現(xiàn)
這篇文章主要介紹了使用Fabric自動化部署Django項目的實現(xiàn),文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友們下面隨著小編來一起學習學習吧2019-09-09python實現(xiàn)簡易版學生成績管理系統(tǒng)
這篇文章主要為大家詳細介紹了python實現(xiàn)簡易版學生成績管理系統(tǒng),文中示例代碼介紹的非常詳細,具有一定的參考價值,感興趣的小伙伴們可以參考一下2020-06-06將不規(guī)則的Python多維數組拉平到一維的方法實現(xiàn)
這篇文章主要介紹了將不規(guī)則的Python多維數組拉平到一維的方法實現(xiàn),文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友們下面隨著小編來一起學習學習吧2021-01-01