train_test_splitのrandom_stateの重要性は何ですか?[複製]
Nov 28 2020
この特定の行でrandom_state = 0の意味は何ですか?
X_train, X_test, y_train, y_test = train_test_split(X, y, test_size = 0.25, random_state = 0)
回答
1 ombk Nov 28 2020 at 02:18
ランダム状態は、データのサンプリング方法を修正するためのパラメーターです。したがって、同じモデルを再現する場合はrandom_state
、任意の値を選択し、次にコードを実行すると、同じデータ分割が得られます。
あなたが持っている例、あなたがlist1=[1,2,3,4]
それrandom_state
に順列のために追加することができるとしましょうrandom_state=0
、list1はそうなるでしょう[2,3,4,1]
、random_state=2
それはそうであるかもしれないので[3,1,4,2]
...X_train
X_test
などのために同じこと...
入力した乱数ごとに異なる分割が行われます。
seralouk Nov 28 2020 at 03:42
random_state
ランダムジェネレーターにシードを設定するだけなので、トレインテストの分割は常に決定論的です。シードを設定しないと、毎回異なります。
ドキュメント:
random_state
:int
、RandomState
インスタンスまたはNone
、オプション(デフォルト=None
)の
場合int
、random_state
は乱数ジェネレーターによって使用されるシードです。場合はRandomState
、インスタンス、random_state
乱数発生器があります。の場合None
、乱数ジェネレーターは。RandomState
によって使用されるインスタンスnp.random
です。