何がnp.random.seed
する?
np.random.seed(0)
ベストアンサー1
np.random.seed(0)
乱数を予測可能にする
>>> numpy.random.seed(0) ; numpy.random.rand(4)
array([ 0.55, 0.72, 0.6 , 0.54])
>>> numpy.random.seed(0) ; numpy.random.rand(4)
array([ 0.55, 0.72, 0.6 , 0.54])
シードが(毎回)リセットされると、同じ数字のセットが毎回表示されます。
ランダム シードがリセットされない場合、呼び出しごとに異なる数字が表示されます。
>>> numpy.random.rand(4)
array([ 0.42, 0.65, 0.44, 0.89])
>>> numpy.random.rand(4)
array([ 0.96, 0.38, 0.79, 0.53])
(疑似) 乱数は、ある数値 (シード) から始めて、それを大きな数値で乗算し、オフセットを追加し、その合計の剰余をとることによって機能します。結果の数値は、次の「ランダム」数値を生成するためのシードとして使用されます。シードを (毎回) 設定すると、毎回同じことが行われ、同じ数値が生成されます。
一見ランダムな数値が必要な場合は、シードを設定しないでください。ただし、デバッグするランダムな数値を使用するコードがある場合は、コードを実行するたびに同じ処理が行われるように、実行前にシードを設定すると非常に役立ちます。
各実行で最もランダムな数値を取得するには、 を呼び出しますnumpy.random.seed()
。これnumpy はシードを またはその Windows 類似物から取得した乱数に設定します/dev/urandom
。どちらも利用できない場合は、クロックを使用します。
シードを使用して疑似乱数を生成する方法の詳細については、以下を参照してください。ウィキペディア。