📜  使用 NumPy 从均匀分布生成随机数(1)

📅  最后修改于: 2023-12-03 15:06:49.195000             🧑  作者: Mango

使用 NumPy 从均匀分布生成随机数

简介

在数据分析和机器学习中,我们经常需要生成随机数。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.0
  • high: 生成随机数的最大值,默认是1.0
  • size: 返回的随机数的形状,默认是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方法来生成随机数数组。在具体应用中,需要根据实际场景和需求来确定lowhigh的值。