numpy2.随机抽样

这篇博客介绍了numpy库中的随机抽样方法,包括离散型的二项分布、泊松分布和超几何分布,以及连续型的均匀分布、正态分布和指数分布。通过设置随机数种子确保了可重复性,并提供了相关概率计算、期望与方差的求解。同时,还讲解了如何从序列中随机抽取元素以及如何打乱数据集的顺序。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

设置随机数种子:
np.random.seed(seed=None)
指定种子后,每次生成的随机数相同。否则系统根据时间设置种子,每次随机数因时间不同而不同。

离散型

以下函数中,n为样本空间,p为一次实验成功的概率,size为实验次数

二项分布

返回一维数组
np.random.binomial(n, p, size=None)
或导入scipy包
from scipy import stats
stats.binom.rvs(n, p, size=size)

求概率?

求均值与方差,moments参数中 m为期望,v为方差
stats.binom.stats(n, p, loc=0, moments='mv')

泊松分布

返回一维数组
np.random.poisson(lam=1.0, size=None)
或导入scipy包
from scipy import stats
stats.poisson.rvs(lam,size=size)

求概率
stats.poisson.pmf(k, mu)
求均值、方差?

超几何分布

返回一维数组
numpy.random.hypergeometric(ngood, nbad, nsample, size=None)
或导入scipy包
from scipy import stats
stats.hypergeom.rvs(M, n, N, loc=0, size=1, random_state=None)

计算k次实验成功的概率
stats.hypergeom.pmf(k, M, n, N, loc)
均值与方差:
stats.hypergeom.stats(M, n, N, loc=0, moments='mv')

连续型

f(x)为概率密度

均匀分布

np.random.uniform(low=0.0, high=1.0, size=None)
分布包含low,不包含high,即范围为:[low, high)

[0, 1)之间的均匀分布的小数:(d0,d1,…,dn代表数据维度)
np.random.rand(d0, d1, ..., dn)

[low, high)之间的均匀分布的整数:(若high为默认值None,则范围为[0, low))
np.random.randint(low, high=None, size=None, dtype='l')

正态分布

f(x) = 1 / (2 PI)1/2 * exp(-x2 / 2)
标准正态分布:(均值0,标准差1)
np.random.randn(d0, d1, ..., dn)

f(x) = 1 / ((2PI)1/2 sigma) * exp(-(x-mu)2 / (2 mu2)
指定参数:(loc:mu均值,scale:sigma标准差)
np.random.normal(loc=0.0, scale=1.0, size=None)
sigma * np.random.randn(...) + mu等价

指数分布

f(x) = lambda * exp(-lambda * x), x > 0
f(x) = 0, x <= 0
注:scale = 1 / lambda
np.random.exponential(scale=1.0, size=None)

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值