np.random.rand()函数
时间: 2023-11-20 20:48:44 浏览: 76
np.random.rand()函数是一个用于生成服从0~1均匀分布的随机样本值的函数。它的返回值是一个或一组随机样本值,取值范围是[0,1),不包括1。该函数可以接受多个参数,用于指定生成随机样本值的维度。例如,np.random.rand(2,3)可以生成一个2行3列的随机矩阵。这个函数在深度学习中的Dropout正则化方法中经常被用来生成dropout随机向量。例如,你可以用np.random.rand(al.shape, al.shape) < keep_prob来生成一个与al形状相同的dropout随机向量,其中keep_prob表示保留神经元的比例。
相关问题
np.random.rand函数的用法
np.random.rand函数用于生成一个或多个服从“0~1”均匀分布的随机样本值,返回值是一个ndarray数组。该函数的语法格式如下:
```python
numpy.random.rand(d0, d1, ..., dn)
```
其中,d0, d1, ..., dn是生成的随机数的维度,可以是整数或整数元组。如果没有参数,则返回单个随机浮点数。
以下是一些使用np.random.rand函数生成随机数的例子:
```python
import numpy as np
# 生成一个随机浮点数
rand_num = np.random.rand()
print(rand_num) # 输出:0.123456789
# 生成一个1维数组,包含5个随机浮点数
rand_arr = np.random.rand(5)
print(rand_arr) # 输出:[0.12345679 0.2345679 0.34567801 0.45678902 0.56789013]
# 生成一个2维数组,包含3行4列的随机浮点数
rand_arr_2d = np.random.rand(3, 4)
print(rand_arr_2d)
# 输出:
# [[0.12345679 0.2345679 0.34567801 0.45678902]
# [0.56789013 0.67890124 0.78901235 0.89012346]
# [0.90123457 0.01234568 0.12345679 0.2345679 ]]
```
np.random.rand,np.random.randn,np.random.random
`np.random.rand`, `np.random.randn`, 和 `np.random.random` 都是 NumPy 中用于生成随机数的函数:
1. `np.random.rand(size)`:生成一个给定形状(size)的浮点数数组,其值均匀分布在 `[0, 1)` 区间内。所有元素都是独立同分布(i.i.d.)的,即彼此之间相互独立,且服从标准正态分布(均值为0,标准差为1)。
2. `np.random.randn(size)`:与 `rand` 类似,也是生成浮点数数组,但是其元素默认是标准正态分布的随机数,即均值为0,标准差为1。所以即使没有明确指定范围,生成的数也通常会被认为是在 [-3, 3] 左右的范围内。
3. `np.random.random(size)`:同样生成一个给定形状的浮点数数组,数组中的每一个元素都在 `[0, 1)` 范围内,与 `rand` 相似,也是 i.i.d. 的。
这些函数广泛应用于数据预处理、模拟实验等场景中,帮助创建随机样本。如果你需要生成特定范围内的非均匀分布随机数,可以结合其他技巧如 `a * rand() + b` 来调整生成值的范围。
阅读全文