机器学习常用包numpy篇(三)随机数

目录

前言

随机数的生成

1.指定形状 生成【0,1)的随机数组

2.从标准正态分布中返回一个或多个样本值(组成数组)

3.生成规定区间内的规定形状的随机数组

4. 生成[0, 1) 区间内指定 size 的随机浮点数 数组

5.从给定的数组里随机抽取几个值(随机抽样)

特定概率密度分布函数的随机数数组


前言

NumPy 的随机数功能非常强大,且主要由 numpy.random 模块完成。

相关文章:

机器学习常用包numpy篇(零)前置知识·数值类型-CSDN博客

机器学习入门常用包-numpy篇(一)数组生成_机器学习 numpy-CSDN博客

机器学习常用包numpy篇(二)数组属性与基本操作-CSDN博客

随机数的生成

首先,我们需要了解如何使用 NumPy 生成一些满足基本需求的随机数据。主要由以下一些方法完成:

1.指定形状 生成【0,1)的随机数组

numpy.random.rand(d0, d1, ..., dn) 方法的作用为:指定一个数组,并使用 [0, 1) 区间随机数据填充,这些数据均匀分布。

np.random.rand(2, 5)

2.从标准正态分布中返回一个或多个样本值(组成数组)

numpy.random.randn(d0, d1, ..., dn) 与 numpy.random.rand(d0, d1, ..., dn) 的区别在于,前者是从标准正态分布中返回一个或多个样本值。(标准正态分布:0为均值,1为方差)

np.random.randn(1, 10)

3.生成规定区间内的规定形状的随机数组

randint(low, high, size, dtype) 方法将会生成 [low, high) 的随机整数。注意这是一个半开半闭区间。

np.random.randint(2, 5, 10)

4. 生成[0, 1) 区间内指定 size 的随机浮点数 数组

random_sample(size) 方法将会在 [0, 1) 区间内生成指定 size 的随机浮点数。

np.random.random_sample([10])

与 numpy.random.random_sample 类似的方法还有:

  • numpy.random.random([size])
  • numpy.random.ranf([size])
  • numpy.random.sample([size])

它们 4 个的效果都差不多。

5.从给定的数组里随机抽取几个值(随机抽样)

choice(a, size, replace, p) 方法将会从给定的数组里随机抽取几个值,该方法类似于随机抽样。

np.random.choice(10, 5)

上面的代码将会在 np.arange(10) 中随机抽取 5 个数。(可能会重复)

特定概率密度分布函数的随机数数组

除了上面介绍的 6 种随机数生成方法,NumPy 还提供了大量的满足特定概率密度分布的样本生成方法。它们的使用方法和上面非常相似,这里就不再一一介绍了。列举如下:

numpy.random.beta(a,b,size) 
#从 Beta 分布中生成随机数。
numpy.random.binomial(n, p, size)
#从二项分布中生成随机数。
numpy.random.chisquare(df,size)
#从卡方分布中生成随机数。
numpy.random.dirichlet(alpha,size)
#从 Dirichlet 分布中生成随机数。
numpy.random.exponential(scale,size)
#从指数分布中生成随机数。
numpy.random.f(dfnum,dfden,size)
#从 F 分布中生成随机数。
numpy.random.gamma(shape,scale,size)
#从 Gamma 分布中生成随机数。
numpy.random.geometric(p,size)
#从几何分布中生成随机数。
numpy.random.gumbel(loc,scale,size)
#从 Gumbel 分布中生成随机数。
numpy.random.hypergeometric(ngood, nbad, nsample, size)
#从超几何分布中生成随机数。
numpy.random.laplace(loc,scale,size)
#从拉普拉斯双指数分布中生成随机数。
numpy.random.logistic(loc,scale,size)
#从逻辑分布中生成随机数。
numpy.random.lognormal(mean,sigma,size)
#从对数正态分布中生成随机数。
numpy.random.logseries(p,size)
#从对数系列分布中生成随机数。
numpy.random.multinomial(n,pvals,size)
#从多项分布中生成随机数。
numpy.random.multivariate_normal(mean, cov, size)
#从多变量正态分布绘制随机样本。
numpy.random.negative_binomial(n, p, size)
#从负二项分布中生成随机数。
numpy.random.noncentral_chisquare(df,nonc,size)
#从非中心卡方分布中生成随机数。
numpy.random.noncentral_f(dfnum, dfden, nonc, size)
#从非中心 F 分布中抽取样本。
numpy.random.normal(loc,scale,size)
#从正态分布绘制随机样本。
numpy.random.pareto(a,size)
#从具有指定形状的 Pareto II 或 Lomax 分布中生成随机数。
numpy.random.poisson(lam,size)
#从泊松分布中生成随机数。
numpy.random.power(a,size)
#从具有正指数 a-1 的功率分布中在 0,1 中生成随机数。
numpy.random.rayleigh(scale,size)
#从瑞利分布中生成随机数。
numpy.random.standard_cauchy(size)
#从标准 Cauchy 分布中生成随机数。
numpy.random.standard_exponential(size)
#从标准指数分布中生成随机数。
numpy.random.standard_gamma(shape,size)
#从标准 Gamma 分布中生成随机数。
numpy.random.standard_normal(size)
#从标准正态分布中生成随机数。
numpy.random.standard_t(df,size)
#从具有 df 自由度的标准学生 t 分布中生成随机数
numpy.random.triangular(left,mode,right,size)
#从三角分布中生成随机数。
numpy.random.uniform(low,high,size)
#从均匀分布中生成随机数。
numpy.random.vonmises(mu,kappa,size)
#从 von Mises 分布中生成随机数。
numpy.random.wald(mean,scale,size)
#从 Wald 或反高斯分布中生成随机数。
numpy.random.weibull(a,size)
#从威布尔分布中生成随机数。
numpy.random.zipf(a,size)
#从 Zipf 分布中生成随机数。

以上为笔者的学习笔记,如有不妥,希望各位批评指正0v0

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值