Python特徵選擇--方差特徵選擇(Removing features with low variance)
最近在看Python中機器學習之特徵選擇,為了避免遺忘,特記一波。
Removing features with low variance,即低方差過濾特徵選擇。其原理也是比較簡單,計算樣本中每一個特徵值所對應的方差,如果低於閾值,則進行過濾(剔除)。預設情況下,將會剔除所有零方差特徵,方差為0表示樣本的特徵取值沒發生變化。
假設我們有一個特徵是由0和1組成的資料集,利用Removing features with low variance方法移除那些在整個資料集中特徵值為0或者為1的比例超過p(同一類樣本所佔的比例)的特徵。0 1 組成的資料集滿足伯努利( Bernoulli )分佈,因此其特徵變數的方差為:p(1-p)。
在Removing features with low variance方法中,將剔除方差低於p(1-p)的特徵。在Pyhon的sklearn模組中,具有該方法的實現,具體使用如下。
from sklearn.feature_selection import VarianceThreshold #匯入python的相關模組
X=[[0,0,1],[0,1,0],[1,0,0],[0,1,1],[0,1,0],[0,1,1]]#其中包含6個樣本,每個樣本包含3個特徵。
sel=VarianceThreshold(threshold=(0.8*(1-0.8)))#表示剔除特徵的方差大於閾值的特徵Removing features with low variance
sel.fit_transform(X)#返回的結果為選擇的特徵矩陣
print(sel.fit_transform(X))#
輸出結果為:
發現剔除的是第一個特徵,保留的是後2個特徵。從第一列特徵可以看出。1的個數為1個,0為5個,0的比例為5/6,超過了0.8,且5/36<4/25(閾值).因此將此特徵剔除,形成新的特徵矩陣。
相關推薦
Python特徵選擇--方差特徵選擇(Removing features with low variance)
最近在看Python中機器學習之特徵選擇,為了避免遺忘,特記一波。Removing features with low variance,即低方差過濾特徵選擇。其原理也是比較簡單,計算樣本中每一個特徵值所對應的方差,如果低於閾值,則進行過濾(剔除)。預設情況下,將會剔除所有零
CSS選擇器的詳細說明(有誤之處請指教)
CSS的選擇器可分為以下幾種,個人經歷,其中1~6,8用的最多,7,9用得少: 1.元素選擇器 2.類選擇器(class) 3.id選擇器 4.屬性選擇器 5.後代選擇器和子元素選擇器 6.
自考軟體工程選擇填空必考知識點(整理自歷年真題)
1.軟體系統模型分類:概念模型,軟體模型。 2.功能需求,非功能需求(效能需求,外部介面需求,設計約束和質量屬性(可靠性,存活性,可維護性,使用者友好性)需求)。 3.初始需求發現技術:自悟,交談,觀察,小組會,提煉。 4.需求規約基本性質:重要性和穩定性程度,
【數學基礎】無偏估計——為何樣本方差需要除以(n-1)?
相信在學習數理統計過程中,肯定很多人會下面這樣的疑問 為什麼樣本方差是除以(n-1),而不是除以n呢? 那麼今天就一起來看一下是為什麼。 ##背景知識 為了方便後面的表述,
python爬取煎蛋妹子圖(老司機養成之路)
chrom all with file windows import apple 妹子 lib 源碼: 1 import urllib.request 2 from bs4 import BeautifulSoup 3 import os 4 import io
Python調用百度地圖API(路線規劃、POI檢索)——第一部分
api mil 申請 eap pos ice poi檢索 pytho 例如 項目的目的是為了查詢某個點附近某些POI的最近距離,例如查詢天安門到附近最近的商場的距離(時間) 1.百度地圖API 程序中用到百度地圖的兩個API,分別是 (1)路線規劃服務(又名Directio
除了binlog2sql工具外,使用python腳本閃回數據(數據庫誤操作)
eat 修改 ext pri 之前 測試 required find 實例 利用binlog日誌恢復數據庫誤操作數據 在人工手動進行一些數據庫寫操作的時候(比方說數據修改),尤其是一些不可控的批量更新或刪除,通常都建議備份後操作。不過不怕萬一,就怕一萬,有備無患總是好的。在
python 代碼審計-命令執行漏洞(自己編寫的代碼)
[1] 問題 錯誤 code 端口掃描 iter turn command att python 代碼審計-命令執行漏洞(自己編寫的代碼) 0x00 源代碼 def execute(request): context ={} ip= request.POS
Python(九)語法 函數語言程式設計(函式作為返回值,lambda)
函式作為返回值 高階函式除了可以接受函式作為引數外,還可以把函式作為結果值返回。 我們來實現一個可變引數的求和。通常情況下,求和的函式是這樣定義的: >>> def sum(*args): ... s=0 ... for x in args: ... s=s+x
Windows下如何優雅的管理多個python版本以及簡易安裝相關庫(包括機器學習和PyQt)
你是不是曾經被python版本困擾?你是不是曾經被安裝python的各種包嚇怕?教你一個優雅的方式------anaconda 1.什麼是anaconda(百度百科)? Anaconda指的是一個開源的Python發行版本,其包含了conda、Python等180多個科學
python實現判斷200以內可逆素數(整數顛倒也為素數)
def judge(i): for j in range (2,i//2): if i%j==0: return 0 return 1 print(2) for i in range(3,201): if i&l
Python機器學習依賴庫的安裝(numpy、scipy、sklearn)
說到機器學習,相信大部分的研究者都是使用python來完成的,因為是實在太方便了,幾行程式碼就搞定了,比較前人做的研究都積累在那邊,所以今天我又重新安裝了python(還不是因為要做機器學習方面的實驗和luwn論文),so開始吧! 1、常用Python機器學習包 Numpy:用於科學計算的包
Python:sys模組的excepthook()函式(例外的堆疊追蹤6)
""" 1.對於一個未匹配到的例外,python直譯器最後會呼叫sys.excepthook()並傳入3個自變數:例外型別、例外例項 和traceback物件,也就是sys.exc_info()返回元組中的3個值。預設顯示相關例外的追蹤資訊。 2.如果想自定義sys.ex
Python:traceback模組的format_tb()函式(例外的堆疊追蹤5)
""" traceback.format_tb(tb,limit=None) 返回堆疊跟蹤條目的列表 tb:要跟蹤的traceback物件 limit: 這個是限制stack trace層級的,如果不設或者為None,就會列印所有層級的stack trace """
Python:traceback模組的print_tb()函式(例外的堆疊追蹤4)
""" traceback.print_tb(tb,limit=None) tb:要跟蹤的traceback物件 limit: 這個是限制stack trace層級的,如果不設或者為None,就會列印所有層級的stack trace """ import time,sy
[和小菜雞一起刷題(python)] LeetCode 138. 複製帶隨機指標的連結串列(Copy List with Random Pointer)
LeetCode 138. 複製帶隨機指標的連結串列(Copy List with Random Pointer) 原題 思路 程式碼 原題 給定一個連結串列,每個節點包含一個額外增加的隨機指標,該指標可以指向連結串列中的任何節點或空節
python+selenium之封裝元素的方法(封裝查詢元素的方法)
import os import sys import time import unittest from selenium import webdriver from selenium.webdriver.support.wait import WebDriverWait
Python 中reload一個檔案時報錯 ( reload() argument must be module)
最近,在用reload()引入一個檔案時報如題的錯誤:(可能僅限於直接在Python自帶命令列中出現問題) 現在解決方案有兩種: 1、 from imp import reload import trees (trees為檔名,注意這裡不需要跟字尾名) reloa
Python 標準庫之日期 & 時間篇(calendar,time,datetime)
寫在之前 在我們的日常生活當中,「時間」這個詞是比較籠統和含糊的。在物理學的概念中,「時間」是一個非常清晰的概念,在我們的 Python 中,時間是可以通過相關模組來實現的。 今天我們先來看「時間」裡的「日曆」。 calendar 先來看一下 calendar 如何使用:
python scrapy爬取全部豆瓣電影(可能是54萬資料)
(一)爬取環境 win10 python3 scrapy (二)豆瓣電影參考標準 主要參考來自神箭手的雲市場 (三)爬取步驟 主要爬取的欄位有:標題,得分,