伪随机数生成
numpy.random 模块填补了 python 内建的 random 模块的不足,可以高效的生成多种概率分布下的完整样本值数组。例如,我们可以使用 normal 来获得一个 4 x 4 的正态分布样本数组:
然而,python 内建的 random 模块一次只能生成一个值。我们可以从下面的示例中看到,numpy.random 在生成大型样本时比纯 python 的方式快了一个数量级:
我们可以称这些为伪随机数,因为它们是由具有确定性行为的算法根据随机数生成器中的随机数种子生成的。我们可以通过 np.random.seed 更改 NumPy 的随机数种子:
seed( ) 用于指定随机数生成时所用算法开始的整数值:
(1) 如果使用相同的seed( )值,则每次生成的随即数都相同;
(2) 如果不设置这个值,则系统根据时间来自己选择这个值,此时每次生成的随机数因时间差异而不同;
(3) 设置的seed()值仅一次有效。