📅  最后修改于: 2023-12-03 15:06:49.195000             🧑  作者: Mango
在数据分析和机器学习中,我们经常需要生成随机数。NumPy是一种Python科学计算库,它提供多种生成随机数的方法。本篇文章将介绍NumPy如何从均匀分布中生成随机数。
均匀分布是概率分布中的一种,它的概率密度函数在一定区间内是常数。在数学上,我们表示为:
$$ f(x)= \begin{cases} \frac{1}{b-a} & a\leq x\leq b \ 0 & \text{otherwise} \end{cases} $$
其中$a$和$b$是分布的最小值和最大值。
在实际应用中,均匀分布被广泛应用到模拟游戏、随机数选择、随机采样等场景。
NumPy提供了numpy.random.uniform
方法从均匀分布上生成随机数。该方法有以下语法:
numpy.random.uniform(low=0.0, high=1.0, size=None)
参数说明:
low
: 生成随机数的最小值,默认是0.0high
: 生成随机数的最大值,默认是1.0size
: 返回的随机数的形状,默认是None下面是一个生成均匀分布的随机数的示例:
import numpy as np
# 生成一个形状为(3, 2)的随机数数组,范围是[0, 1)
x = np.random.uniform(size=(3, 2))
print(x)
输出结果:
[[0.10297975 0.35125667]
[0.95818629 0.96702728]
[0.0890413 0.35992503]]
上面的代码中,我们调用了numpy.random.uniform
方法来生成一个形状为(3, 2)的随机数数组。该数组中的所有值都是[0, 1)范围内的均匀分布的随机数。
本篇文章介绍了NumPy如何从均匀分布中生成随机数。我们通过调用numpy.random.uniform
方法来生成随机数数组。在具体应用中,需要根据实际场景和需求来确定low
和high
的值。