电脑知识|欧美黑人一区二区三区|软件|欧美黑人一级爽快片淫片高清|系统|欧美黑人狂野猛交老妇|数据库|服务器|编程开发|网络运营|知识问答|技术教程文章 - 好吧啦网

您的位置:首頁技術文章
文章詳情頁

Python實現8種常用抽樣方法

瀏覽:101日期:2022-06-15 16:47:55
目錄概率抽樣技術1.隨機抽樣(Random Sampling)2.分層抽樣(Stratified Sampling)3.聚類抽樣(Cluster Sampling)4.系統抽樣(Systematic Sampling)5.多級采樣(Multistage sampling)非概率抽樣技術1.簡單采樣(convenience sampling)2.自愿抽樣(Voluntary Sampling)3.雪球抽樣(Snowball Sampling)總結

今天來和大家聊聊抽樣的幾種常用方法,以及在Python中是如何實現的。

抽樣是統計學、機器學習中非常重要,也是經常用到的方法,因為大多時候使用全量數據是不現實的,或者根本無法取到。所以我們需要抽樣,比如在推斷性統計中,我們會經常通過采樣的樣本數據來推斷估計總體的樣本。

上面所說的都是以概率為基礎的,實際上還有一類非概率的抽樣方法,因此總體上歸納為兩大種類:

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

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

概率抽樣技術1.隨機抽樣(Random Sampling)

這也是最簡單暴力的一種抽樣了,就是直接隨機抽取,不考慮任何因素,完全看概率。并且在隨機抽樣下,總體中的每條樣本被選中的概率相等。

Python實現8種常用抽樣方法

比如,現有10000條樣本,且各自有序號對應的,假如抽樣數量為1000,那我就直接從1-10000的數字中隨機抽取1000個,被選中序號所對應的樣本就被選出來了。

在Python中,我們可以用random函數隨機生成數字。下面就是從100個人中隨機選出5個。

import randompopulation = 100data = range(population)print(random.sample(data,5))> 4, 19, 82, 45, 412.分層抽樣(Stratified Sampling)

分層抽樣其實也是隨機抽取,不過要加上一個前提條件了。在分層抽樣下,會根據一些共同屬性將帶抽樣樣本分組,然后從這些分組中單獨再隨機抽樣。

Python實現8種常用抽樣方法

因此,可以說分層抽樣是更精細化的隨機抽樣,它要保持與總體群體中相同的比例。 比如,機器學習分類標簽中的類標簽0和1,比例為3:7,為保持原有比例,那就可以分層抽樣,按照每個分組單獨隨機抽樣。

Python中我們通過train_test_split設置stratify參數即可完成分層操作。

from sklearn.model_selection import train_test_splitstratified_sample, _ = train_test_split(population, test_size=0.9, stratify=population[[’label’]])print (stratified_sample)3.聚類抽樣(Cluster Sampling)

聚類抽樣,也叫整群抽樣。它的意思是,先將整個總體劃分為多個子群體,這些子群體中的每一個都具有與總體相似的特征。也就是說它不對個體進行抽樣,而是隨機選擇整個子群體。

Python實現8種常用抽樣方法

用Python可以先給聚類的群體分配聚類ID,然后隨機抽取兩個子群體,再找到相對應的樣本值即可,如下。

import numpy as npclusters=5pop_size = 100sample_clusters=2# 間隔為 20, 從 1 到 5 依次分配集群100個樣本的聚類 ID,這一步已經假設聚類完成cluster_ids = np.repeat([range(1,clusters+1)], pop_size/clusters)# 隨機選出兩個聚類的 IDcluster_to_select = random.sample(set(cluster_ids), sample_clusters)# 提取聚類 ID 對應的樣本indexes = [i for i, x in enumerate(cluster_ids) if x in cluster_to_select]# 提取樣本序號對應的樣本值cluster_associated_elements = [el for idx, el in enumerate(range(1, 101)) if idx in indexes]print (cluster_associated_elements)4.系統抽樣(Systematic Sampling)

系統抽樣是以預定的規則間隔(基本上是固定的和周期性的間隔)從總體中抽樣。比如,每 9 個元素抽取一下。一般來說,這種抽樣方法往往比普通隨機抽樣方法更有效。

下圖是按順序對每 9 個元素進行一次采樣,然后重復下去。

Python實現8種常用抽樣方法

用Python實現的話可以直接在循環體中設置step即可。

population = 100step = 5sample = [element for element in range(1, population, step)]print (sample)5.多級采樣(Multistage sampling)

在多階段采樣下,我們將多個采樣方法一個接一個地連接在一起。比如,在第一階段,可以使用聚類抽樣從總體中選擇集群,然后第二階段再進行隨機抽樣,從每個集群中選擇元素以形成最終集合。

Python實現8種常用抽樣方法

Python代碼復用了上面聚類抽樣,只是在最后一步再進行隨機抽樣即可。

import numpy as npclusters=5pop_size = 100sample_clusters=2sample_size=5# 間隔為 20, 從 1 到 5 依次分配集群100個樣本的聚類 ID,這一步已經假設聚類完成cluster_ids = np.repeat([range(1,clusters+1)], pop_size/clusters)# 隨機選出兩個聚類的 IDcluster_to_select = random.sample(set(cluster_ids), sample_clusters)# 提取聚類 ID 對應的樣本indexes = [i for i, x in enumerate(cluster_ids) if x in cluster_to_select]# 提取樣本序號對應的樣本值cluster_associated_elements = [el for idx, el in enumerate(range(1, 101)) if idx in indexes]# 再從聚類樣本里隨機抽取樣本print (random.sample(cluster_associated_elements, sample_size))非概率抽樣技術

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

1.簡單采樣(convenience sampling)

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

Python實現8種常用抽樣方法

2.自愿抽樣(Voluntary Sampling)

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

Python實現8種常用抽樣方法

3.雪球抽樣(Snowball Sampling)

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

Python實現8種常用抽樣方法

總結

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

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

到此這篇關于Python實現8種常用抽樣方法的文章就介紹到這了,更多相關Python 抽樣方法內容請搜索好吧啦網以前的文章或繼續瀏覽下面的相關文章希望大家以后多多支持好吧啦網!

標簽: Python 編程
相關文章:
主站蜘蛛池模板: 南京租车,南京汽车租赁,南京包车,南京会议租车-南京七熹租车 | 代办建筑资质升级-建筑资质延期就找上海国信启航 | 温州富欧金属封头-不锈钢封头厂家 | 桂林腻子粉_内墙外墙抗裂砂浆腻子粉推荐广西鑫达涂料厂家供应 | BOE画框屏-触摸一体机-触控查询一体机-触摸屏一体机价格-厂家直销-触发电子 | 长沙中央空调维修,中央空调清洗维保,空气能热水工程,价格,公司就找维小保-湖南维小保环保科技有限公司 | 气力输送_输送机械_自动化配料系统_负压吸送_制造主力军江苏高达智能装备有限公司! | 浙江皓格药业有限公司| 洗瓶机厂家-酒瓶玻璃瓶冲瓶机-瓶子烘干机-封口旋盖压盖打塞机_青州惠联灌装机械 | 成都办公室装修-办公室设计-写字楼装修设计-厂房装修-四川和信建筑装饰工程有限公司 | 精雕机-火花机-精雕机 cnc-高速精雕机-电火花机-广东鼎拓机械科技有限公司 | 生态板-实木生态板-生态板厂家-源木原作生态板品牌-深圳市方舟木业有限公司 | 圆窗水平仪|伊莉莎冈特elesa+ganter | 北京模型公司-军事模型-工业模型制作-北京百艺模型沙盘公司 | 润滑油加盟_润滑油厂家_润滑油品牌-深圳市沃丹润滑科技有限公司 琉璃瓦-琉璃瓦厂家-安徽盛阳新型建材科技有限公司 | 上海宿田自动化设备有限公司-双面/平面/单面贴标机 | 新材料分散-高速均质搅拌机-超声波分散混合-上海化烁智能设备有限公司 | 宁夏档案密集柜,智能密集柜,电动手摇密集柜-盛隆柜业宁夏档案密集柜厂家 | 磁力抛光机_磁力研磨机_磁力去毛刺机_精密五金零件抛光设备厂家-冠古科技 | 创富网-B2B网站|供求信息网|b2b平台|专业电子商务网站 | TYPE-C厂家|TYPE-C接口|TYPE-C防水母座|TYPE-C贴片-深圳步步精 | 亚克力制品定制,上海嘉定有机玻璃加工制作生产厂家—官网 | 沈阳激光机-沈阳喷码机-沈阳光纤激光打标机-沈阳co2激光打标机 | 政府园区专业委托招商平台_助力企业选址项目快速落地_东方龙商务集团 | 济南网站建设_济南网站制作_济南网站设计_济南网站建设公司_富库网络旗下模易宝_模板建站 | 耐酸碱胶管_耐腐蚀软管总成_化学品输送软管_漯河利通液压科技耐油耐磨喷砂软管|耐腐蚀化学软管 | 东莞市天进机械有限公司-钉箱机-粘箱机-糊箱机-打钉机认准东莞天进机械-厂家直供更放心! | 会议会展活动拍摄_年会庆典演出跟拍_摄影摄像直播-艾木传媒 | 丹佛斯变频器-Danfoss战略代理经销商-上海津信变频器有限公司 | 冷水机,风冷冷水机,水冷冷水机,螺杆冷水机专业制造商-上海祝松机械有限公司 | 学习安徽网| 招商帮-一站式网络营销服务|搜索营销推广|信息流推广|短视视频营销推广|互联网整合营销|网络推广代运营|招商帮企业招商好帮手 | 工业铝型材生产厂家_铝合金型材配件批发精加工定制厂商 - 上海岐易铝业 | 石磨面粉机|石磨面粉机械|石磨面粉机组|石磨面粉成套设备-河南成立粮油机械有限公司 | 超高频感应加热设备_高频感应电源厂家_CCD视觉检测设备_振动盘视觉检测设备_深圳雨滴科技-深圳市雨滴科技有限公司 | 衡阳耐适防护科技有限公司——威仕盾焊接防护用品官网/焊工手套/焊接防护服/皮革防护手套 | LZ-373测厚仪-华瑞VOC气体检测仪-个人有毒气体检测仪-厂家-深圳市深博瑞仪器仪表有限公司 | 北京京云律师事务所| 报警器_家用防盗报警器_烟雾报警器_燃气报警器_防盗报警系统厂家-深圳市刻锐智能科技有限公司 | 板框压滤机-隔膜压滤机配件生产厂家-陕西华星佳洋装备制造有限公司 | 出国劳务公司_正规派遣公司[严海] |