[解決済み] Scikit learnのランダムステート(疑似乱数)
2022-03-12 18:23:34
質問
scikit learnで機械学習アルゴリズムを実装したいのですが、このパラメータが何なのかがわかりません。
random_state
をご覧ください。なぜそれを使う必要があるのでしょうか?
また、疑似乱数とは何かということも理解できませんでした。
どのように解決するのですか?
train_test_split
は、配列や行列をランダムな訓練用と試験用のサブセットに分割します。つまり,このプログラムを
random_state
これは予想された動作です。例えば
1を実行します。
>>> a, b = np.arange(10).reshape((5, 2)), range(5)
>>> train_test_split(a, b)
[array([[6, 7],
[8, 9],
[4, 5]]),
array([[2, 3],
[0, 1]]), [3, 4, 2], [1, 0]]
ラン2
>>> train_test_split(a, b)
[array([[8, 9],
[4, 5],
[0, 1]]),
array([[6, 7],
[2, 3]]), [4, 2, 0], [3, 1]]
変わるのです。一方、もしあなたが
random_state=some_number
の出力が保証されます。
実行1
の出力と同じになります。
ラン2
つまり、スプリットは常に同じになります。
実際の
random_state
は、42, 0, 21, ...です。重要なのは、42 を使うたびに、最初に分割を行ったときと同じ出力が得られるということです。
これは、例えばドキュメントなどで再現性のある結果を得たい場合に有効で、例を実行したときに誰もが一貫して同じ数字を見ることができるようになります。
実際のところ、私は
random_state
を固定値に設定し、本当にランダムな (固定値ではない) 分割が必要な場合は、実稼働時にこれを削除します。
2つ目の質問ですが、擬似乱数発生器とは、ほぼ本当に乱数を発生させる数値発生器のことです。なぜ本当の乱数ではないのかは、この質問の範囲外であり、おそらくあなたのケースでは重要ではないでしょう。 こちら を作成します。
関連
-
Pythonコンテナのための組み込み汎用関数操作
-
[解決済み】csv.Error:イテレータはバイトではなく文字列を返すべき
-
[解決済み] PandasでDataFrameの行を反復処理する方法
-
[解決済み] JavaScriptでランダムな文字列/文字を生成する
-
[解決済み] JavaScriptで特定の範囲のランダムな整数を生成する?
-
[解決済み] 乱数(int)を生成する方法を教えてください。
-
[解決済み] JavaScriptで2つの数値の間の乱数を生成する
-
[解決済み] Pythonのswitch文の代用品?
-
[解決済み] 0から9までのランダムな整数を生成する
-
[解決済み】Python 3での相対インポート
最新
-
nginxです。[emerg] 0.0.0.0:80 への bind() に失敗しました (98: アドレスは既に使用中です)
-
htmlページでギリシャ文字を使うには
-
ピュアhtml+cssでの要素読み込み効果
-
純粋なhtml + cssで五輪を実現するサンプルコード
-
ナビゲーションバー・ドロップダウンメニューのHTML+CSSサンプルコード
-
タイピング効果を実現するピュアhtml+css
-
htmlの選択ボックスのプレースホルダー作成に関する質問
-
html css3 伸縮しない 画像表示効果
-
トップナビゲーションバーメニュー作成用HTML+CSS
-
html+css 実装 サイバーパンク風ボタン
おすすめ
-
Pythonを使って簡単なzipファイルの解凍パスワードを手作業で解く
-
Pythonの@decoratorsについてまとめてみました。
-
FacebookオープンソースワンストップサービスpythonのタイミングツールKats詳細
-
[解決済み】ilocが「IndexError: single positional indexer is out-of-bounds」を出す。
-
[解決済み】pygame.error: ビデオシステムが初期化されていない
-
[解決済み】csv.Error:イテレータはバイトではなく文字列を返すべき
-
[解決済み】終了コード -1073741515 (0xC0000135)でプロセス終了)
-
[解決済み】 AttributeError: モジュール 'matplotlib' には属性 'plot' がない。
-
[解決済み】TypeError: 系列を <class 'float'> に変換することができません。
-
[解決済み】Python - "ValueError: not enough values to unpack (expected 2, got 1)" の修正方法 [閉店].