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

时间:2017-12-23 13:29:43

标签: python numpy

我正在学习Python,我找到了以下代码:

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

在此代码中,self.random_stateint。我查看documentation并发现RandomState(int)不存在作为方法,但只是一个“方法容器”。

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

1 个答案:

答案 0 :(得分: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},可选

     

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