use*_*ser 7 python random numpy
我已阅读文档但我仍然发现难以理解使用的区别
numpy.random.RandomState(0)
Run Code Online (Sandbox Code Playgroud)
要么
numpy.random.seed(0)
Run Code Online (Sandbox Code Playgroud)
它们是否都确保选择随机值的过程在运行中是相同且一致的?
Rob*_*ern 10
numpy.random.seed(0)重置RandomState作为numpy.random命名空间中的函数基础的现有全局实例的状态.
numpy.random.RandomState(0)返回一个新的种子RandomState实例,但不会改变任何东西.您必须使用返回的RandomState实例来获得一致的伪随机数.如果使用numpy.random命名空间中的函数,则不会获得一致的伪随机数,因为它们是从RandomState与您刚刚创建的实例不同的实例中提取的.
如果您关心可重复性,则最好将代码结构化以传递RandomState实例.全球国家很糟糕.Cf Consistenly创建相同的随机numpy数组