Pythonで乱数を生成する際、乱数の再現性を保証するためには、乱数シード(seed)の設定が重要です。以下に、Pythonの標準ライブラリrandom
、numpy
、およびscipy.stats
での乱数シードの設定方法を紹介します。
Pythonのrandomモジュール
Pythonのrandom
モジュールでは、関数random.seed(seed_value)
でシードを設定します。ここで、seed_value
は乱数シードの値で、任意の整数を指定します。
import random
random.seed(314) # 乱数シードを314に設定
numpyのnumpy.randomモジュール
numpy
のnumpy.random
モジュールでは、numpy.random.seed(seed)
で乱数シードを指定します。ここで、seed
は乱数シードの値です。
import numpy as np
np.random.seed(314) # 乱数シードを314に設定
scipyのscipy.statsモジュール
scipy.stats
モジュールでは、乱数の生成にnumpy.random
を使用しているため、乱数シードの設定もnumpy.random.seed
を使用します。
import numpy as np
from scipy import stats
np.random.seed(314) # 乱数シードを314に設定
以上、Pythonで乱数シードを設定する方法を紹介しました。乱数シードを設定することで、同じソースコードを実行しても毎回同じ結果が得られ、再現性のあるプログラムにすることができます。