numpy.random.RandomState()的用法

前言

numpy.random.RandomState()是一个伪随机数生成器。伪随机数是用确定性的算法计算出来自[0,1]均匀分布的随机数序列。并不真正的随机,但具有类似于随机数的统计特征,如均匀性、独立性等。在计算伪随机数时,若使用的初值(种子)不变,那么伪随机数的数序也不变。
伪随机数百度百科:https://baike.baidu.com/item/%E4%BC%AA%E9%9A%8F%E6%9C%BA%E6%95%B0/104358?fr=aladdin

代码测试一:

# 伪随机数生成器
import numpy

# 生成伪随机数
rng =numpy.random.RandomState(1207)
print(rng.rand(1))
# 结果测试
rng = numpy.random.RandomState(1207)
print(rng.rand(1))

输出:

[0.78716484]
[0.78716484]

注意:

numpy.random.RandomState()生成伪随机数,必须在同一个变量下使用,否则不会得到相同的随机样本。

代码测试二:

import numpy

# 实验一 生成和调用均未使用变量
numpy.random.RandomState(111)
print(numpy.random.rand(3))

numpy.random.RandomState(111)
print(numpy.random.rand(3))
# 输出:没有生成相同的随机样本
# [0.17185707 0.8524841  0.3495877  0.46284491]
# [0.29329868 0.0120782  0.60277158 0.30292547]

# 实验二 生成使用同一变量 num,调用时未使用该变量
num = numpy.random.RandomState(111)
print(numpy.random.rand(3))

num = numpy.random.RandomState(111)
print(numpy.random.rand(3))
# 输出:没有生成相同的随机样本 
# [0.84640027 0.67900224 0.25280333 0.44183278]
# [0.95146853 0.59576836 0.06062831 0.82951104]

# 实验三 生成和调用均使用同一变量
num = numpy.random.RandomState(111)
print(num.rand(3))

num = numpy.random.RandomState(111)
print(num.rand(3))
# 输出
# [0.5488135  0.71518937 0.60276338]
# [0.5488135  0.71518937 0.60276338]

总结

numpy.random.RandomState()用于生成伪随机数,生成和调用必须使用同一变量。

你可能感兴趣的:(计算机基础,numpy,python)