PHP前端开发

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

百变鹏仔 3个月前 (09-21) #HTML
文章标签 随机数

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 nprand_int = np.random.randint(1, 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 nprand_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 npnp.random.seed(0)rand_int = np.random.randint(1, 10, size=5)print(rand_int)np.random.seed(0)rand_int = np.random.randint(1, 10, size=5)print(rand_int)

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

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

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