np.random.permutation
でシードを使用したい
np.random.permutation(10, seed=42)
次のエラーが表示されます。
"permutation() takes no keyword arguments"
他にどうすればいいですか?ありがとう。
1行で必要な場合は、新しいRandomState
を作成し、そのpermutation
を呼び出すことができます。
np.random.RandomState(seed=42).permutation(10)
これは、np.random
のシードを設定するよりも優れています。ローカライズされた効果しかありません。
_np.random.seed(42)
np.random.permutation(10)
_
np.random.permutation(10)
を複数回呼び出して同じ結果を得たい場合は、np.random.seed(42)
を呼び出すたびにpermutation()
を呼び出す必要もあります。
例えば、
_np.random.seed(42)
print(np.random.permutation(10))
print(np.random.permutation(10))
_
異なる結果が生成されます。
_[8 1 5 0 7 2 9 4 3 6]
[0 1 8 5 3 4 7 9 6 2]
_
ながら
_np.random.seed(42)
print(np.random.permutation(10))
np.random.seed(42)
print(np.random.permutation(10))
_
同じ出力が得られます:
_[8 1 5 0 7 2 9 4 3 6]
[8 1 5 0 7 2 9 4 3 6]
_
前の行にシードを設定します
np.random.seed(42)
np.random.permutation(10)
次のように分類できます。
import numpy as np
np.random.seed(10)
np.random.permutation(10)
最初にランダムシードを初期化することにより、同じ順列が得られることが保証されます。