首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >有种子的np.random.permutation?

有种子的np.random.permutation?
EN

Stack Overflow用户
提问于 2017-12-10 19:30:43
回答 4查看 21.2K关注 0票数 24

我想在np.random.permutation中使用一个种子,就像

代码语言:javascript
复制
np.random.permutation(10, seed=42)

我得到以下错误:

代码语言:javascript
复制
"permutation() takes no keyword arguments"

我还能怎么做呢?谢谢。

EN

回答 4

Stack Overflow用户

回答已采纳

发布于 2017-12-10 19:36:38

如果希望将其放在一行中,则可以创建一个新的RandomState,并在此上调用permutation

代码语言:javascript
复制
np.random.RandomState(seed=42).permutation(10)

这比仅仅设置np.random的种子要好,因为它只会产生局部的效果。

票数 58
EN

Stack Overflow用户

发布于 2017-12-10 19:35:32

代码语言:javascript
复制
np.random.seed(42)
np.random.permutation(10)

如果您想多次调用np.random.permutation(10)并获得相同的结果,那么每次调用permutation()时都需要调用permutation()

例如,

代码语言:javascript
复制
np.random.seed(42)
print(np.random.permutation(10))
print(np.random.permutation(10))

将产生不同的结果:

代码语言:javascript
复制
[8 1 5 0 7 2 9 4 3 6]
[0 1 8 5 3 4 7 9 6 2]

代码语言:javascript
复制
np.random.seed(42)
print(np.random.permutation(10))
np.random.seed(42)
print(np.random.permutation(10))

将提供相同的输出:

代码语言:javascript
复制
[8 1 5 0 7 2 9 4 3 6]
[8 1 5 0 7 2 9 4 3 6]
票数 31
EN

Stack Overflow用户

发布于 2017-12-10 19:35:04

在上一行中设置种子

代码语言:javascript
复制
np.random.seed(42)
np.random.permutation(10)
票数 3
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/47742622

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档