为什么我可以调用Numpy RandomState方法?

问题描述 投票:4回答:1

我正在学习Python,我发现了以下代码:

rgen = np.random.RandomState(self.random_state)

在这段代码中,self.random_state是一个int。我查看了documentation并发现RandomState(int)不作为一种方法存在,而只是一个“方法容器”。

那么,如何调用RandomState(self.random_state)呢?

python numpy
1个回答
0
投票

RandomState是一个类,RandomState(whatever_arguments)只是创建了类RandomState的新实例。

实例创建通常通过__init__(和/或__new__)进行,这是一种特殊方法,并不总是单独记录。通常,就像在这种情况下,它已经记录在类的docstring中,您已经链接到相关的documentation page,它列出了实例创建的参数:

class numpy.random.RandomState

Mersenne Twister伪随机数发生器的容器。

RandomState公开了许多用于生成从各种概率分布中提取的随机数的方法。除了特定于分发的参数之外,每个方法都采用默认为None的关键字参数大小。如果size为None,则生成并返回单个值。如果size是整数,则返回填充了生成值的1-D数组。如果size是一个元组,则填充并返回具有该形状的数组。

兼容性保证使用相同参数的固定种子和对“RandomState”方法的固定系列调用将始终产生相同的结果,直到舍入误差,除非值不正确。将修复不正确的值,并在相关文档字符串中记录进行修复的NumPy版本。只要先前的行为保持不变,就允许扩展现有参数范围和添加新参数。

参数:

seed : {None, int, array_like}, optional

随机种子用于初始化伪随机数发生器。可以是0到2 ** 32 - 1之间的任何整数,此类整数的数组(或其他序列),或无(默认值)。如果seed为None,则RandomState将尝试从/ dev / urandom(或Windows模拟)中读取数据(如果可用),否则从时钟读取种子。

© www.soinside.com 2019 - 2024. All rights reserved.