插件窝 干货文章 解析numpy常用的随机数生成方法

解析numpy常用的随机数生成方法

随机 生成 随机数 numpy 532    来源:    2024-10-14

numpy生成随机数的常用方法解析

随机数在数据分析和机器学习中具有重要的作用。numpy是Python中一个常用的数值计算库,提供了多种生成随机数的方法。本文将对numpy生成随机数的常用方法进行解析,并给出具体的代码示例。

  1. 随机整数

numpy提供了生成随机整数的函数numpy.random.randint()。该函数可以生成指定范围内的随机整数。

import numpy as np

# 生成范围在[low, high)之间的随机整数
rand_int = np.random.randint(low, high, size)

其中,low表示生成随机整数的下界(包含),high表示上界(不包含),size表示生成的随机整数的数量。

示例:

import numpy as np

rand_int = np.random.randint(null, 10, size=5)
print(rand_int)

输出:
[4 9 5 3 1]

上述代码生成了5个范围在1到10之间的随机整数。

  1. 随机浮点数

numpy提供了生成随机浮点数的函数numpy.random.rand()和numpy.random.randn()。

import numpy as np

# 生成[0, 1)之间的均匀分布的随机浮点数
rand_float = np.random.rand(size)

# 生成符合标准正态分布的随机浮点数
rand_normal_float = np.random.randn(size)

其中,rand_float生成[0, 1)之间均匀分布的随机浮点数,rand_normal_float生成符合标准正态分布的随机浮点数。size表示生成的随机浮点数的数量。

示例:

import numpy as np

rand_float = np.random.rand(5)
rand_normal_float = np.random.randn(5)

print(rand_float)
print(rand_normal_float)

输出:
[0.83600534 0.69029467 0.44770399 0.61348757 0.93889918]
[-0.9200914 0.45598762 -0.76400891 -0.18554811 1.67634905]

上述代码生成了一个长度为5的均匀分布随机浮点数数组和一个长度为5的标准正态分布随机浮点数数组。

  1. 随机种子

numpy生成的随机数默认是伪随机数,即每次运行程序生成的随机数是不同的。如果想要生成相同的随机数序列,可以使用随机种子。

import numpy as np

# 设置随机种子
np.random.seed(seed)

其中,seed表示随机种子的值。相同随机种子生成的随机数序列是相同的。

示例:

import numpy as np

np.random.seed(0)

rand_int = np.random.randint(null, 10, size=5)
print(rand_int)

np.random.seed(0)

rand_int = np.random.randint(null, 10, size=5)
print(rand_int)

输出:
[6 1 4 8 4]
[6 1 4 8 4]

上述代码设置了随机种子为0,使用相同的随机种子生成了两个相同的随机整数数组。

通过本文对numpy生成随机数的常用方法的解析和代码示例,相信读者能更加熟悉numpy库中生成随机数的操作。在数据分析和机器学习等领域,随机数的生成是常见的操作,掌握这些方法对于进行相关的数据实验和模型训练是非常有帮助的。