chinese直男口爆体育生外卖, 99久久er热在这里只有精品99, 又色又爽又黄18禁美女裸身无遮挡, gogogo高清免费观看日本电视,私密按摩师高清版在线,人妻视频毛茸茸,91论坛 兴趣闲谈,欧美 亚洲 精品 8区,国产精品久久久久精品免费

0
  • 聊天消息
  • 系統(tǒng)消息
  • 評(píng)論與回復(fù)
登錄后你可以
  • 下載海量資料
  • 學(xué)習(xí)在線(xiàn)課程
  • 觀看技術(shù)視頻
  • 寫(xiě)文章/發(fā)帖/加入社區(qū)
會(huì)員中心
創(chuàng)作中心

完善資料讓更多小伙伴認(rèn)識(shí)你,還能領(lǐng)取20積分哦,立即完善>

3天內(nèi)不再提示

抽樣的幾種常用方法以及在Python中是如何實(shí)現(xiàn)的

上海磐啟微電子有限公司 ? 來(lái)源:Python數(shù)據(jù)科學(xué) ? 作者:Python數(shù)據(jù)科學(xué) ? 2021-08-10 15:16 ? 次閱讀
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

大家好,今天來(lái)和大家聊聊抽樣的幾種常用方法,以及在Python中是如何實(shí)現(xiàn)的。

抽樣是統(tǒng)計(jì)學(xué)、機(jī)器學(xué)習(xí)中非常重要,也是經(jīng)常用到的方法,因?yàn)榇蠖鄷r(shí)候使用全量數(shù)據(jù)是不現(xiàn)實(shí)的,或者根本無(wú)法取到。所以我們需要抽樣,比如在推斷性統(tǒng)計(jì)中,我們會(huì)經(jīng)常通過(guò)采樣的樣本數(shù)據(jù)來(lái)推斷估計(jì)總體的樣本。

上面所說(shuō)的都是以概率為基礎(chǔ)的,實(shí)際上還有一類(lèi)非概率的抽樣方法,因此總體上歸納為兩大種類(lèi):

概率抽樣:根據(jù)概率理論選擇樣本,每個(gè)樣本有相同的概率被選中。

非概率抽樣:根據(jù)非隨機(jī)的標(biāo)準(zhǔn)選擇樣本,并不是每個(gè)樣本都有機(jī)會(huì)被選中。

概率抽樣技術(shù)1.隨機(jī)抽樣(Random Sampling)

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

比如,現(xiàn)有10000條樣本,且各自有序號(hào)對(duì)應(yīng)的,假如抽樣數(shù)量為1000,那我就直接從1-10000的數(shù)字中隨機(jī)抽取1000個(gè),被選中序號(hào)所對(duì)應(yīng)的樣本就被選出來(lái)了。

在Python中,我們可以用random函數(shù)隨機(jī)生成數(shù)字。下面就是從100個(gè)人中隨機(jī)選出5個(gè)。

import random

population = 100

data = range(population)

print(random.sample(data,5))

》 4, 19, 82, 45, 41

2.分層抽樣(Stratified Sampling)

分層抽樣其實(shí)也是隨機(jī)抽取,不過(guò)要加上一個(gè)前提條件了。在分層抽樣下,會(huì)根據(jù)一些共同屬性將帶抽樣樣本分組,然后從這些分組中單獨(dú)再隨機(jī)抽樣。

因此,可以說(shuō)分層抽樣是更精細(xì)化的隨機(jī)抽樣,它要保持與總體群體中相同的比例。 比如,機(jī)器學(xué)習(xí)分類(lèi)標(biāo)簽中的類(lèi)標(biāo)簽0和1,比例為3:7,為保持原有比例,那就可以分層抽樣,按照每個(gè)分組單獨(dú)隨機(jī)抽樣。

Python中我們通過(guò)train_test_split設(shè)置stratify參數(shù)即可完成分層操作。

from sklearn.model_selection import train_test_split

stratified_sample, _ = train_test_split(population, test_size=0.9, stratify=population[[‘label’]])

print (stratified_sample)

3.聚類(lèi)抽樣(Cluster Sampling)

聚類(lèi)抽樣,也叫整群抽樣。它的意思是,先將整個(gè)總體劃分為多個(gè)子群體,這些子群體中的每一個(gè)都具有與總體相似的特征。也就是說(shuō)它不對(duì)個(gè)體進(jìn)行抽樣,而是隨機(jī)選擇整個(gè)子群體。

用Python可以先給聚類(lèi)的群體分配聚類(lèi)ID,然后隨機(jī)抽取兩個(gè)子群體,再找到相對(duì)應(yīng)的樣本值即可,如下。

import numpy as np

clusters=5

pop_size = 100

sample_clusters=2# 間隔為 20, 從 1 到 5 依次分配集群100個(gè)樣本的聚類(lèi) ID,這一步已經(jīng)假設(shè)聚類(lèi)完成

cluster_ids = np.repeat([range(1,clusters+1)], pop_size/clusters)

# 隨機(jī)選出兩個(gè)聚類(lèi)的 ID

cluster_to_select = random.sample(set(cluster_ids), sample_clusters)

# 提取聚類(lèi) ID 對(duì)應(yīng)的樣本

indexes = [i for i, x in enumerate(cluster_ids) if x in cluster_to_select]

# 提取樣本序號(hào)對(duì)應(yīng)的樣本值

cluster_associated_elements = [el for idx, el in enumerate(range(1, 101)) if idx in indexes]

print (cluster_associated_elements)

4.系統(tǒng)抽樣(Systematic Sampling)

系統(tǒng)抽樣是以預(yù)定的規(guī)則間隔(基本上是固定的和周期性的間隔)從總體中抽樣。比如,每 9 個(gè)元素抽取一下。一般來(lái)說(shuō),這種抽樣方法往往比普通隨機(jī)抽樣方法更有效。

下圖是按順序?qū)γ?9 個(gè)元素進(jìn)行一次采樣,然后重復(fù)下去。

用Python實(shí)現(xiàn)的話(huà)可以直接在循環(huán)體中設(shè)置step即可。

population = 100

step = 5

sample = [element for element in range(1, population, step)]

print (sample)

5.多級(jí)采樣(Multistage sampling)

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

Python代碼復(fù)用了上面聚類(lèi)抽樣,只是在最后一步再進(jìn)行隨機(jī)抽樣即可。

import numpy as np

clusters=5

pop_size = 100

sample_clusters=2

sample_size=5# 間隔為 20, 從 1 到 5 依次分配集群100個(gè)樣本的聚類(lèi) ID,這一步已經(jīng)假設(shè)聚類(lèi)完成

cluster_ids = np.repeat([range(1,clusters+1)], pop_size/clusters)

# 隨機(jī)選出兩個(gè)聚類(lèi)的 ID

cluster_to_select = random.sample(set(cluster_ids), sample_clusters)

# 提取聚類(lèi) ID 對(duì)應(yīng)的樣本

indexes = [i for i, x in enumerate(cluster_ids) if x in cluster_to_select]

# 提取樣本序號(hào)對(duì)應(yīng)的樣本值

cluster_associated_elements = [el for idx, el in enumerate(range(1, 101)) if idx in indexes]

# 再?gòu)木垲?lèi)樣本里隨機(jī)抽取樣本print (random.sample(cluster_associated_elements, sample_size))

非概率抽樣技術(shù)非概率抽樣,毫無(wú)疑問(wèn)就是不考慮概率的方式了,很多情況下是有條件的選擇。因此,對(duì)于無(wú)隨機(jī)性我們是無(wú)法通過(guò)統(tǒng)計(jì)概率和編程來(lái)實(shí)現(xiàn)的。這里也介紹3種方法。

1.簡(jiǎn)單采樣(convenience sampling)

簡(jiǎn)單采樣,其實(shí)就是研究人員只選擇最容易參與和最有機(jī)會(huì)參與研究的個(gè)體。比如下面的圖中,藍(lán)點(diǎn)是研究人員,橙色點(diǎn)則是藍(lán)色點(diǎn)附近最容易接近的人群。

2.自愿抽樣(Voluntary Sampling)

自愿抽樣下,感興趣的人通常通過(guò)填寫(xiě)某種調(diào)查表格形式自行參與的。所以,這種情況中,調(diào)查的研究人員是沒(méi)有權(quán)利選擇任何個(gè)體的,全憑群體的自愿報(bào)名。比如下圖中藍(lán)點(diǎn)是研究人員,橙色的是自愿同意參與研究的個(gè)體。

3.雪球抽樣(Snowball Sampling)

雪球抽樣是說(shuō),最終集合是通過(guò)其他參與者選擇的,即研究人員要求其他已知聯(lián)系人尋找愿意參與研究的人。比如下圖中藍(lán)點(diǎn)是研究人員,橙色的是已知聯(lián)系人,黃色是是橙色點(diǎn)周?chē)钠渌?lián)系人。

總結(jié)以上就是8種常用抽樣方法,平時(shí)工作中比較常用的還是概率類(lèi)抽樣方法,因?yàn)闆](méi)有隨機(jī)性我們是無(wú)法通過(guò)統(tǒng)計(jì)學(xué)和編程完成自動(dòng)化操作的。

比如在信貸的風(fēng)控樣本設(shè)計(jì)時(shí),就需要從樣本窗口通過(guò)概率進(jìn)行抽樣。因?yàn)椴蓸拥馁|(zhì)量基本就決定了你模型的上限了,所以在抽樣時(shí)會(huì)考慮很多問(wèn)題,如樣本數(shù)量、是否有顯著性、樣本穿越等等。在這時(shí),一個(gè)良好的抽樣方法是至關(guān)重要的。

參考:

[2] https://towardsdatascience.com/8-types-of-sampling-techniques-b21adcdd2124

編輯:jq

聲明:本文內(nèi)容及配圖由入駐作者撰寫(xiě)或者入駐合作網(wǎng)站授權(quán)轉(zhuǎn)載。文章觀點(diǎn)僅代表作者本人,不代表電子發(fā)燒友網(wǎng)立場(chǎng)。文章及其配圖僅供工程師學(xué)習(xí)之用,如有內(nèi)容侵權(quán)或者其他違規(guī)問(wèn)題,請(qǐng)聯(lián)系本站處理。 舉報(bào)投訴
  • 數(shù)據(jù)
    +關(guān)注

    關(guān)注

    8

    文章

    7293

    瀏覽量

    93379
  • 機(jī)器學(xué)習(xí)

    關(guān)注

    66

    文章

    8528

    瀏覽量

    135861
  • python
    +關(guān)注

    關(guān)注

    56

    文章

    4848

    瀏覽量

    88921

原文標(biāo)題:基于 Python 的 8 種常用抽樣方法

文章出處:【微信號(hào):gh_6a53af9e8109,微信公眾號(hào):上海磐啟微電子有限公司】歡迎添加關(guān)注!文章轉(zhuǎn)載請(qǐng)注明出處。

收藏 人收藏
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

    評(píng)論

    相關(guān)推薦
    熱點(diǎn)推薦

    【Labview技巧合集】16 labview嵌入python做的界面

    labview嵌入python做的GUI界面 無(wú)所不能的labview啊
    發(fā)表于 09-22 05:30

    Python字符串逆序有幾種方式,代碼是什么

    對(duì)于一個(gè)給定的字符串,逆序輸出,這個(gè)任務(wù)對(duì)于python來(lái)說(shuō)是一種很簡(jiǎn)單的操作,畢竟強(qiáng)大的列表和字符串處理的一些列函數(shù)足以應(yīng)付這些問(wèn)題 了,今天總結(jié)了一下python對(duì)于字符串的逆序輸出的
    的頭像 發(fā)表于 08-28 14:44 ?408次閱讀

    基礎(chǔ)篇3:掌握Python的條件語(yǔ)句與循環(huán)

    Python編程語(yǔ)言中,條件語(yǔ)句和循環(huán)是構(gòu)成復(fù)雜邏輯和數(shù)據(jù)處理的基石。本篇基礎(chǔ)教程將幫助您深入了解Python的條件語(yǔ)句和循環(huán)結(jié)構(gòu),讓您能夠更好地控制程序流程。 條件語(yǔ)句 條件語(yǔ)句
    發(fā)表于 07-03 16:13

    在線(xiàn)測(cè)徑儀100%全檢替代抽樣檢測(cè)!開(kāi)啟工業(yè)質(zhì)檢智能時(shí)代!

    傳統(tǒng)的線(xiàn)棒管材生產(chǎn)過(guò)程,抽樣檢測(cè)的滯后性與隨機(jī)性導(dǎo)致質(zhì)量隱患頻發(fā),漏檢、誤判造成的經(jīng)濟(jì)損失高達(dá)行業(yè)總成本的5%-10%。在線(xiàn)測(cè)徑儀憑借全流程自動(dòng)化檢測(cè)技術(shù),以每秒2000次的高頻測(cè)量能力,
    發(fā)表于 04-17 14:14

    Python嵌入式系統(tǒng)的應(yīng)用場(chǎng)景

    你想把你的職業(yè)生涯提升到一個(gè)新的水平?Python嵌入式系統(tǒng)中正在成為一股不可缺少的新力量。盡管傳統(tǒng)上嵌入式開(kāi)發(fā)更多地依賴(lài)于C和C++語(yǔ)言,Python的優(yōu)勢(shì)在于其簡(jiǎn)潔的語(yǔ)法、豐富的庫(kù)和快速的開(kāi)發(fā)周期,這使得它在某些嵌入式場(chǎng)景
    的頭像 發(fā)表于 03-19 14:10 ?1004次閱讀

    使用Python實(shí)現(xiàn)xgboost教程

    使用Python實(shí)現(xiàn)XGBoost模型通常涉及以下幾個(gè)步驟:數(shù)據(jù)準(zhǔn)備、模型訓(xùn)練、模型評(píng)估和模型預(yù)測(cè)。以下是一個(gè)詳細(xì)的教程,指導(dǎo)你如何在Python中使用XGBoost。 1. 安裝XGBoost
    的頭像 發(fā)表于 01-19 11:21 ?1968次閱讀

    ADS1115單詞轉(zhuǎn)換時(shí)間最短也需要1.2ms左右,請(qǐng)問(wèn)其抽樣時(shí)間啟動(dòng)采樣多久后完成?

    ADS1115單詞轉(zhuǎn)換時(shí)間最短也需要1.2ms左右。請(qǐng)問(wèn)其抽樣時(shí)間啟動(dòng)采樣多久后完成? 當(dāng)前項(xiàng)目中為了維持ADC前端信號(hào),將激發(fā)光源開(kāi)啟了2ms左右 導(dǎo)致功耗較高。如果可以確定其抽樣時(shí)間,是否又可以
    發(fā)表于 01-02 07:01

    Pythondict支持多個(gè)key的方法

    ? Python,字典(dict)是一種非常強(qiáng)大的數(shù)據(jù)結(jié)構(gòu),它允許我們通過(guò)鍵(key)來(lái)存儲(chǔ)和檢索值(value)。有時(shí)候,我們可能想要根據(jù)多個(gè)鍵來(lái)檢索或操作字典的數(shù)據(jù)。雖然
    的頭像 發(fā)表于 11-29 15:59 ?698次閱讀

    邏輯異或運(yùn)算符Python的用法

    Python的 ^ 符號(hào)實(shí)際上是一個(gè)按位異或運(yùn)算符,用于對(duì)整數(shù)的二進(jìn)制表示進(jìn)行異或操作。 盡管如此,我們?nèi)匀豢梢酝ㄟ^(guò)一些方法來(lái)實(shí)現(xiàn)邏輯異或的功能,即當(dāng)兩個(gè)布爾值不同時(shí)為真,相同時(shí)為
    的頭像 發(fā)表于 11-19 09:46 ?1092次閱讀

    Jtti:常用的網(wǎng)絡(luò)質(zhì)量監(jiān)控方法有哪些

    常用的網(wǎng)絡(luò)質(zhì)量監(jiān)控方法包括以下幾種: 1. ICMP探測(cè): ? 使用ICMP協(xié)議(如Ping)來(lái)檢測(cè)網(wǎng)絡(luò)連通性和質(zhì)量。這種方法通過(guò)發(fā)送探測(cè)數(shù)據(jù)包并分析回包結(jié)果來(lái)監(jiān)控網(wǎng)絡(luò),典型指標(biāo)包括丟
    的頭像 發(fā)表于 11-15 15:50 ?1370次閱讀

    如何使用Python實(shí)現(xiàn)PID控制

    PID控制(比例-積分-微分控制)是一種常見(jiàn)的反饋控制算法,廣泛應(yīng)用于工業(yè)控制系統(tǒng)。Python實(shí)現(xiàn)PID控制,我們可以遵循以下步驟:
    的頭像 發(fā)表于 11-14 09:09 ?1947次閱讀

    Python編程:處理網(wǎng)絡(luò)請(qǐng)求的代理技術(shù)

    在網(wǎng)絡(luò)編程,代理技術(shù)扮演著至關(guān)重要的角色,尤其處理網(wǎng)絡(luò)請(qǐng)求時(shí)。通過(guò)代理服務(wù)器,我們可以實(shí)現(xiàn)請(qǐng)求的轉(zhuǎn)發(fā)、緩存、負(fù)載均衡以及安全控制等功能。Pyth
    的頭像 發(fā)表于 11-12 07:23 ?761次閱讀

    Python常用函數(shù)大全

    Python 世界里,有一些寶藏函數(shù)和模塊,它們可以讓你編程更輕松、代碼更高效。這篇文章將帶你一一認(rèn)識(shí)這些神器,讓你的開(kāi)發(fā)生活瞬間輕松不少!
    的頭像 發(fā)表于 10-27 17:20 ?1223次閱讀

    Python庫(kù)解析:通過(guò)庫(kù)實(shí)現(xiàn)代理請(qǐng)求與數(shù)據(jù)抓取

    Python,有多個(gè)庫(kù)可以幫助你實(shí)現(xiàn)代理請(qǐng)求和數(shù)據(jù)抓取。這些庫(kù)提供了豐富的功能和靈活的API,使得你可以輕松地發(fā)送HTTP請(qǐng)求、處理響應(yīng)、解析HTML/XML/JSON數(shù)據(jù),
    的頭像 發(fā)表于 10-24 07:54 ?659次閱讀

    Python多線(xiàn)程和多進(jìn)程的區(qū)別

    Python作為一種高級(jí)編程語(yǔ)言,提供了多種并發(fā)編程的方式,其中多線(xiàn)程與多進(jìn)程是最常見(jiàn)的兩種方式之一。本文中,我們將探討Python多線(xiàn)程與多進(jìn)程的概念、區(qū)別
    的頭像 發(fā)表于 10-23 11:48 ?1223次閱讀
    <b class='flag-5'>Python</b><b class='flag-5'>中</b>多線(xiàn)程和多進(jìn)程的區(qū)別