問題タブ [train-test-split]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
machine-learning - 検証セット、トレーニング セット、テスト セットの使用順序
機械学習におけるモデルの評価と検証のプロセスを理解しようとしています。具体的には、トレーニング セット、検証セット、およびテスト セットを使用する順序と方法です。
データセットがあり、線形回帰を使用したいとしましょう。さまざまな多項式の次数 (ハイパーパラメーター) の中で迷っています。
このウィキペディアの記事では、シーケンスが次のようになることを暗示しているようです。
- データをトレーニング セット、検証セット、テスト セットに分割する
- トレーニング セットを使用してモデルに適合させます (最適なパラメーターを見つけます: 多項式の係数)。
- その後、検証セットを使用して、最適なハイパーパラメーター (この場合は多項式の次数) を見つけます (ウィキペディアの記事には、次のように書かれています: 「続いて、適合モデルを使用して、検証データセットと呼ばれる 2 番目のデータセットの観測に対する応答を予測します」 )
- 最後に、テスト セットを使用して、トレーニング セットに適合したモデルにスコアを付けます。
ただし、これは私には奇妙に思えます。ハイパーパラメーター (この場合は多項式の次数) をまだ選択していない場合、どのようにモデルをトレーニング セットに適合させることができるでしょうか?
3 つの代替アプローチがあると思いますが、それらが正しいかどうかはわかりません。
最初のアプローチ
- データをトレーニング セット、検証セット、テスト セットに分割する
- 多項式の次数ごとに、モデルをトレーニング セットに適合させ、検証セットを使用してスコアを与えます。
- 最良のスコアを持つ多項式の次数については、モデルをトレーニング セットに適合させます。
- テストセットで評価する
2 番目のアプローチ
- データをトレーニング セット、検証セット、テスト セットに分割する
- 多項式の次数ごとに、検証セットに対してのみ交差検証を使用して、モデルを適合させてスコアリングします
- 最良のスコアを持つ多項式の次数については、モデルをトレーニング セットに適合させます。
- テストセットで評価する
3 番目のアプローチ
- データを2 つのセットのみに分割: トレーニング/検証セットとテスト セット
- 多項式の次数ごとに、トレーニング/検証セットに対してのみ交差検証を使用して、モデルを適合させてスコアリングします
- 最良のスコアを持つ多項式の次数については、トレーニング/検証セットを使用してモデルを適合させます。
- テストセットで評価する
質問は次のとおりです。
- ウィキペディアの記事は間違っていますか、それとも何か不足していますか?
- 私が想定している 3 つのアプローチは正しいですか? どちらが好ましいでしょうか?これら3つよりも優れた別のアプローチはありますか?
python - scikit-learn で予測の精度を向上させる方法
3 つの特徴と1 つのターゲットに基づいてパラメーターを予測したいと考えています。ここに私の入力ファイル(data.csv)があります:
これが私のコードです:
傾向によると、すべての機能の入力として 0.375 を指定すると、約 0.1875 の値が得られると予想されます。ただし、コードはこれを予測します。
これは正しくありません。どこに問題があるのかわからない。どうすれば修正できるか知っている人はいますか?
ありがとう