sklearn
を含む通常プログラミングで利用できる乱数は、完全なランダムではなく、疑似的な乱数です。
一般的な疑似乱数は、通常、種(random_state
= seed
)=初期値を与えて作り出す必要があります。
また、ここが重要なのですが、同じ種からは常に同じ乱数(の組)が出来上がります。
例えばrandom_state
に1
を与えると、常に1,5,2,4,...
という乱数(の組)が得られます。
また、同じように2
を与えると常に3,4,1,1,...
が得られます。(あくまで単純化した例です)
その結果得られる乱数の質(ばらつき具合など)は、変わりませんのでrandom_state
にどんな値を与えても、具体的にどのデータが抽出されるかは異なりますが、ちゃんとsplit
されます。
以下のコードでは、どのような環境でも同じ乱数値が得られます。
Python
1import random
2random.seed(123) # この123という値には特に意味はない
3for i in range(5):
4 print( random.random())
5"""
60.052363598850944326
70.08718667752263232
80.4072417636703983
90.10770023493843905
100.9011988779516946
11"""
参考:Random Seed って言葉を初めて知った!
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2017/11/06 10:31