在线观看www成人影院-在线观看www日本免费网站-在线观看www视频-在线观看操-欧美18在线-欧美1级

0
  • 聊天消息
  • 系統消息
  • 評論與回復
登錄后你可以
  • 下載海量資料
  • 學習在線課程
  • 觀看技術視頻
  • 寫文章/發帖/加入社區
會員中心
創作中心

完善資料讓更多小伙伴認識你,還能領取20積分哦,立即完善>

3天內不再提示

抽樣在Python中是如何實現的

電子工程師 ? 來源:Python數據科學 ? 作者:Python數據科學 ? 2022-08-05 10:59 ? 次閱讀

今天來和大家聊聊抽樣的幾種常用方法,以及在Python中是如何實現的。 抽樣是統計學、機器學習中非常重要,也是經常用到的方法,因為大多時候使用全量數據是不現實的,或者根本無法取到。所以我們需要抽樣,比如在推斷性統計中,我們會經常通過采樣的樣本數據來推斷估計總體的樣本。 上面所說的都是以概率為基礎的,實際上還有一類非概率的抽樣方法,因此總體上歸納為兩大種類:

概率抽樣:根據概率理論選擇樣本,每個樣本有相同的概率被選中。

非概率抽樣:根據非隨機的標準選擇樣本,并不是每個樣本都有機會被選中。

概率抽樣技術

1.隨機抽樣(Random Sampling)

這也是最簡單暴力的一種抽樣了,就是直接隨機抽取,不考慮任何因素,完全看概率。并且在隨機抽樣下,總體中的每條樣本被選中的概率相等。 dbc29cf8-1469-11ed-ba43-dac502259ad0.png 比如,現有10000條樣本,且各自有序號對應的,假如抽樣數量為1000,那我就直接從1-10000的數字中隨機抽取1000個,被選中序號所對應的樣本就被選出來了。 在Python中,我們可以用random函數隨機生成數字。下面就是從100個人中隨機選出5個。


importrandom population=100 data=range(population) print(random.sample(data,5)) >4,19,82,45,41

2.分層抽樣(Stratified Sampling)

分層抽樣其實也是隨機抽取,不過要加上一個前提條件了。在分層抽樣下,會根據一些共同屬性將帶抽樣樣本分組,然后從這些分組中單獨再隨機抽樣。 dbd49566-1469-11ed-ba43-dac502259ad0.png因此,可以說分層抽樣是更精細化的隨機抽樣,它要保持與總體群體中相同的比例。 比如,機器學習分類標簽中的類標簽0和1,比例為3:7,為保持原有比例,那就可以分層抽樣,按照每個分組單獨隨機抽樣。 Python中我們通過train_test_split設置stratify參數即可完成分層操作。


fromsklearn.model_selectionimporttrain_test_split stratified_sample,_=train_test_split(population,test_size=0.9,stratify=population[['label']]) print(stratified_sample)

3.聚類抽樣(Cluster Sampling)

聚類抽樣,也叫整群抽樣。它的意思是,先將整個總體劃分為多個子群體,這些子群體中的每一個都具有與總體相似的特征。也就是說它不對個體進行抽樣,而是隨機選擇整個子群體。 dbe4e650-1469-11ed-ba43-dac502259ad0.png 用Python可以先給聚類的群體分配聚類ID,然后隨機抽取兩個子群體,再找到相對應的樣本值即可,如下。


importnumpyasnp clusters=5 pop_size=100 sample_clusters=2 #間隔為20,從1到5依次分配集群100個樣本的聚類ID,這一步已經假設聚類完成 cluster_ids=np.repeat([range(1,clusters+1)],pop_size/clusters) #隨機選出兩個聚類的ID cluster_to_select=random.sample(set(cluster_ids),sample_clusters) #提取聚類ID對應的樣本 indexes=[ifori,xinenumerate(cluster_ids)ifxincluster_to_select] #提取樣本序號對應的樣本值 cluster_associated_elements=[elforidx,elinenumerate(range(1,101))ifidxinindexes] print(cluster_associated_elements)

4.系統抽樣(Systematic Sampling)

系統抽樣是以預定的規則間隔(基本上是固定的和周期性的間隔)從總體中抽樣。比如,每 9 個元素抽取一下。一般來說,這種抽樣方法往往比普通隨機抽樣方法更有效。 下圖是按順序對每 9 個元素進行一次采樣,然后重復下去。 dbf08546-1469-11ed-ba43-dac502259ad0.png 用Python實現的話可以直接在循環體中設置step即可。


population=100 step=5 sample=[elementforelementinrange(1,population,step)] print(sample)

5.多級采樣(Multistage sampling)

在多階段采樣下,我們將多個采樣方法一個接一個地連接在一起。比如,在第一階段,可以使用聚類抽樣從總體中選擇集群,然后第二階段再進行隨機抽樣,從每個集群中選擇元素以形成最終集合。 dc0030d6-1469-11ed-ba43-dac502259ad0.png Python代碼復用了上面聚類抽樣,只是在最后一步再進行隨機抽樣即可。


importnumpyasnp clusters=5 pop_size=100 sample_clusters=2 sample_size=5 #間隔為20,從1到5依次分配集群100個樣本的聚類ID,這一步已經假設聚類完成 cluster_ids=np.repeat([range(1,clusters+1)],pop_size/clusters) #隨機選出兩個聚類的ID cluster_to_select=random.sample(set(cluster_ids),sample_clusters) #提取聚類ID對應的樣本 indexes=[ifori,xinenumerate(cluster_ids)ifxincluster_to_select] #提取樣本序號對應的樣本值 cluster_associated_elements=[elforidx,elinenumerate(range(1,101))ifidxinindexes] #再從聚類樣本里隨機抽取樣本 print(random.sample(cluster_associated_elements,sample_size))

非概率抽樣技術

非概率抽樣,毫無疑問就是不考慮概率的方式了,很多情況下是有條件的選擇。因此,對于無隨機性我們是無法通過統計概率和編程來實現的。這里也介紹3種方法。

1.簡單采樣(convenience sampling)

簡單采樣,其實就是研究人員只選擇最容易參與和最有機會參與研究的個體。比如下面的圖中,藍點是研究人員,橙色點則是藍色點附近最容易接近的人群。 dc112f62-1469-11ed-ba43-dac502259ad0.png

2.自愿抽樣(Voluntary Sampling)

自愿抽樣下,感興趣的人通常通過填寫某種調查表格形式自行參與的。所以,這種情況中,調查的研究人員是沒有權利選擇任何個體的,全憑群體的自愿報名。比如下圖中藍點是研究人員,橙色的是自愿同意參與研究的個體。 dc1dddac-1469-11ed-ba43-dac502259ad0.png

3.雪球抽樣(Snowball Sampling)

雪球抽樣是說,最終集合是通過其他參與者選擇的,即研究人員要求其他已知聯系人尋找愿意參與研究的人。比如下圖中藍點是研究人員,橙色的是已知聯系人,黃色是是橙色點周圍的其它聯系人。

dc2b6f26-1469-11ed-ba43-dac502259ad0.png

總結

以上就是8種常用抽樣方法,平時工作中比較常用的還是概率類抽樣方法,因為沒有隨機性我們是無法通過統計學和編程完成自動化操作的。

比如在信貸的風控樣本設計時,就需要從樣本窗口通過概率進行抽樣。因為采樣的質量基本就決定了你模型的上限了,所以在抽樣時會考慮很多問題,如樣本數量、是否有顯著性、樣本穿越等等。在這時,一個良好的抽樣方法是至關重要的。

審核編輯:彭靜
聲明:本文內容及配圖由入駐作者撰寫或者入駐合作網站授權轉載。文章觀點僅代表作者本人,不代表電子發燒友網立場。文章及其配圖僅供工程師學習之用,如有內容侵權或者其他違規問題,請聯系本站處理。 舉報投訴
  • 抽樣
    +關注

    關注

    0

    文章

    11

    瀏覽量

    7200
  • 機器學習
    +關注

    關注

    66

    文章

    8438

    瀏覽量

    133086
  • python
    +關注

    關注

    56

    文章

    4807

    瀏覽量

    85038

原文標題:基于 Python 的 8 種常用抽樣方法

文章出處:【微信號:AI科技大本營,微信公眾號:AI科技大本營】歡迎添加關注!文章轉載請注明出處。

收藏 人收藏

    評論

    相關推薦

    MATLAB怎樣實現抽樣判決器

    用MATLAB怎樣實現抽樣判決器?各路友人幫幫忙,急等著用。先謝謝了!
    發表于 05-14 21:04

    請問Python如何實現vlookup函數的功能?

    vlookup函數功能非常強大,那Python如何實現
    發表于 11-06 06:11

    怎樣實現中頻窄帶抽樣

    本文討論基本的帶通抽樣定理基礎上,分析欠抽樣率對帶通信號采樣的頻譜搬移特點,同時結合對普通的AM調幅接收機中頻信號的采樣、濾波與處理,以獲得基帶的語音信號。
    發表于 04-07 07:06

    通信原理抽樣定理及應用實驗報告

    實際,平頂抽樣的 PAM信號常常采用保持電路來實現,得到的脈沖為矩形脈沖。同時我也進一步了解到: 由于離散點取值, 直流分量被濾除,所
    發表于 09-19 07:49

    抽樣z變換頻率抽樣理論

    抽樣z變換頻率抽樣理論:我們將先闡明:(1)z變換與DFT的關系(抽樣z變換),在此基礎上引出抽樣z變換的概念,并進一步深入討論頻域抽樣不失
    發表于 07-25 11:39 ?36次下載

    GB/T 2828.1-2003抽樣檢驗用表

    GB/T 2828.1-2003抽樣檢驗用表抽樣檢驗用表:正常檢驗一次抽樣方案
    發表于 08-17 08:34 ?51次下載

    信號抽樣抽樣定理.ppt

    一、信號抽樣 信號抽樣也稱為取樣或采樣,是利用抽樣脈沖序列 p (t) 從連續信號 f (t) 抽取一系列的離散樣值,通過抽樣過程得到的離
    發表于 09-16 08:47 ?0次下載

    抽樣率原理艦船振動信號分析的應用與研究

    論文對該頻域方法進行了詳細介紹,對方法的譜分辨率、計算量和存儲空間進行了分析對比,基于FPGA搭建了船舶振動采集分析系統,FPGA對算法進行了實現,最后對實測船舶振動信號應用多抽樣
    發表于 12-31 09:23 ?6次下載

    抽樣率的數字信號處理及其FPGA實現

    抽樣率的數字信號處理及其FPGA實現
    發表于 10-30 11:42 ?12次下載
    多<b class='flag-5'>抽樣</b>率的數字信號處理及其FPGA<b class='flag-5'>實現</b>

    基于Dijkstra最短路徑的抽樣算法

    到的路徑邊出現的頻率進行排序,選擇較高頻率的邊組成抽樣的子圖。該算法解決了隨機抽樣算法存在的一些問題,實現了較好的生成抽取社交網絡的功能。仿真實驗結果表明,與隨機
    發表于 12-17 11:40 ?1次下載
    基于Dijkstra最短路徑的<b class='flag-5'>抽樣</b>算法

    抽樣的幾種常用方法以及Python是如何實現

    大家好,今天來和大家聊聊抽樣的幾種常用方法,以及Python是如何實現的。 抽樣是統計學、機
    的頭像 發表于 08-10 15:16 ?2557次閱讀

    Anaconda安裝python包seaborn

    Anaconda安裝python包seaborn(現代電源技術題庫)-Anaconda安裝pyt
    發表于 09-18 15:01 ?5次下載
    <b class='flag-5'>在</b>Anaconda<b class='flag-5'>中</b>安裝<b class='flag-5'>python</b>包seaborn

    Python實現更簡單好用的函數運算緩存

    我們即將學習的是:Python實現更簡單好用的函數運算緩存。 函數運算緩存,顧名思義就是我們可以針對指定的函數,讓其記住過往參數輸入和返回結果,使得后續接收到相同的參數時跳過函數運
    的頭像 發表于 08-05 11:05 ?1045次閱讀

    怎么Python實現截圖功能

    操作。 今天Python實用寶典就來講講怎么Python實現截圖功能,以下教程默認您已經安裝好了Py
    的頭像 發表于 11-03 15:32 ?1004次閱讀
    怎么<b class='flag-5'>在</b><b class='flag-5'>Python</b><b class='flag-5'>中</b><b class='flag-5'>實現</b>截圖功能

    PythonAI的應用實例

    Python人工智能(AI)領域的應用極為廣泛且深入,從基礎的數據處理、模型訓練到高級的應用部署,Python都扮演著至關重要的角色。以下將詳細探討Python
    的頭像 發表于 07-19 17:16 ?1360次閱讀
    主站蜘蛛池模板: 天天插天天色 | 在线观看国产精美视频 | 国产小视频免费观看 | 黄色三级在线看 | h小视频在线 | 国产一区精品视频 | 亚洲国产精品日韩专区avtube | 成人看的午夜免费毛片 | 日本特级视频 | 四虎影院免费观看 | 欧美人成在线观看 | tube亚洲高清老少配 | 韩国中文字幕在线观看 | www三级免费| 57pao成人永久免费视频 | 亚色在线 | 美女国产在线观看免费观看 | 色五五月 | 亚洲国产精品久久久久婷婷软件 | 你懂的在线视频观看 | a级毛片免费网站 | 欧美黄色性 | 一区国产传媒国产精品 | 国产午夜视频在线观看 | 中文字幕天天躁夜夜狠狠综合 | 怡红院色视频在线 | 国产美女亚洲精品久久久久久 | 国产呦精品系列在线 | 国产亚洲一区二区精品 | 康熙古代高h细节肉爽文全文 | 久久99国产精品久久99 | 中国xxxxx高清免费看视频 | 色之综合天天综合色天天棕色 | 国产98在线传媒在线视频 | 欧美国产三级 | 狠狠色丁香婷婷久久 | 国产一级大片在线观看 | 欧美日韩一区二区不卡 | 国产片在线观看狂喷潮bt天堂 | 色五阁| 欧美午夜在线观看 |