numpy2.随机抽样

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

设置随机数种子:
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

### 回答1: numpy.random.randn是一个用于生成随机数的函数,返回的是一个由浮点数组成的指定形状的数组,这些浮点数是从标准正态分布随机抽样得到的。 具体来说,numpy.random.randn函数的语法如下: ```python numpy.random.randn(d0, d1, ..., dn) ``` 其,d0, d1, ..., dn 是表示生成数组形状的参数,可以是整数或者整数元组。函数会返回一个形状为 (d0, d1, ..., dn) 的数组,其的元素是从标准正态分布抽样得到的浮点数。 例如,下面的代码生成了一个形状为 (2, 3) 的数组,其的元素是从标准正态分布抽样得到的: ```python import numpy as np arr = np.random.randn(2, 3) print(arr) ``` 输出: ``` [[-1.33307884 0.8263848 0.05024193] [-1.04358602 0.497614 1.09213628]] ``` ### 回答2: numpy.random.randn是numpy的一个函数,用于生成服从标准正态分布(平均值为0,标准差为1)的随机数。它可以根据指定的大小来生成一个指定形状的数组。下面是对numpy.random.randn函数的详细解释。 首先,numpy是Python的一个重要的科学计算库,提供了很多用于数组操作和数学计算的功能。而numpy.random模块是numpy的一个子模块,提供了伪随机数生成器的功能。其,randn函数用于生成服从标准正态分布的随机数序列。 语法格式:numpy.random.randn(d0, d1, ..., dn),其d0, d1, ..., dn表示生成的随机数序列的维度,可以是整数或整数序列。 参数说明:d0, d1, ..., dn用于指定生成随机数序列的维度,如果没有指定,则默认为一个随机数。 返回值:返回一个形状为(d0, d1, ..., dn)的数组,数组的元素服从标准正态分布。 例如,生成一个形状为(2, 3)的二维数组,其的元素服从标准正态分布,可以使用以下代码: import numpy as np arr = np.random.randn(2, 3) print(arr) 运行结果可能为: [[-0.24616705 0.25069005 1.41882856] [ 1.06692249 0.20792445 0.10625843]] 在生成的数组,每个元素都是一个服从标准正态分布的随机数。 总之,numpy.random.randn函数是用于生成服从标准正态分布的随机数序列的。它可以根据指定的大小来生成一个指定形状的数组,提供了强大的随机数生成功能,在数据科学和工程计算常被使用。 ### 回答3: numpy.random.randn是numpy用于生成符合标准正态分布(均值为0,标准差为1)的随机数的函数。该函数的参数是一个或多个整数,用于指定返回随机数的维度,返回值是一个具有指定维度的numpy数组。 使用方法如下: 1. 首先,需要导入numpy库:import numpy as np 2. 然后,可以使用np.random.randn来生成随机数。 下面是一个简单的例子,生成一个3x3的随机数组: import numpy as np rand_arr = np.random.randn(3, 3) print(rand_arr) 执行以上代码,可能得到的输出结果类似于: [[-0.28790072 -1.30127789 0.28642234] [ 0.30540302 -0.41940331 0.02838139] [-1.03656423 0.12807012 -0.20615022]] 可以看到,生成的随机数符合标准正态分布。如果需要生成其他均值和方差的正态分布随机数,可以使用numpy.random.normal函数。 总之,numpy.random.randn函数是一个方便生成符合标准正态分布随机数的函数,可以根据需要指定维度生成相应的随机数数组。
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值