sklearnのrandom_state


多くの人がrandomをstateは乱数シードとして解釈される.何も知らないのか?乱数シードとは?
乱数シードとは何か分かりません.ただし,乱数シードは毎回ランダムな結果が同じであることを保証するためである.
Example:sklarnは、model_をコードに導入するだけで、トレーニングセットとテストセット(クロス検証)をランダムに分割できます.selection.train_test_splitでいい
コード:
from sklearn import model_selection
x_train, x_test, y_train, y_test = model_selection.train_test_split(x, y, test_size=0.2, random_state=0)

ここのrandom_stateは,プログラムが実行されるたびに同じ訓練集合テストセットを分割することを保証するためである.そうでなければ,同じアルゴリズムモデルは異なる訓練セットとテストセットで効果が異なる.
テストセットとトレーニングセットをsklearnで分割し、モデルと初期パラメータを決定すると、プログラムが実行されるたびに、異なる精度が得られ、パラメータを調整できないことがわかります.この時はガランドームがなかったからstate.加えて後でパラメータを調整することができます.
どのように効率的にパラメータを調整するか分からない場合は、以下を参照してください.
TPOTを使用してscikit-learnマシン学習モデルとパラメータを自動的に選択
TPOT自動選択マシン学習モデルとパラメータ--回帰例