Notice: This page requires JavaScript to function properly.
Please enable JavaScript in your browser settings or update your browser.
学ぶ 過学習 | 最適なモデルの選択
Pythonによる線形回帰

過学習

メニューを表示するにはスワイプしてください

過学習

以下の2つの回帰直線を考察。どちらが優れているか?

OverfittingExample

指標によれば2番目のモデルが優れているため、X_new = [0.2, 0.5, 2.7] の予測に使用。しかし、予測値と実際の値を比較すると、1番目のモデルの方が良い結果となる。

OverfittingPrediction

これは、2番目のモデルが過学習しているために発生します。モデルが複雑すぎて訓練データに過度に適合し、新しいデータに対して一般化できなくなっています。

アンダーフィッティング

アンダーフィッティングは、モデルが単純すぎて訓練データさえ適合できず、未知のデータに対しても予測精度が低下する現象です。

UnderfittingExample

モデルがアンダーフィットしているかオーバーフィットしているかを視覚的に判断することが可能。

UnderGoodOver

高次元モデルは可視化できないため、過学習や未学習を検出する別の方法が必要です。

訓練データとテストデータの分割

未知のデータに対する性能を推定するため、データセットを既知のターゲットを持つ訓練セットとテストセットに分割します。

住宅 訓練 テスト

トレーニングセットで学習を行い、トレーニングセットとテストセットの両方で指標を計算してパフォーマンスを比較。

traintestresults
TrainTestVideo

分割はランダムである必要があります。一般的に、20〜30%がテストセットに割り当てられ、70〜80%がトレーニングに使用されます。Scikit-learnはこれを簡単に行う方法を提供しています。

TrainTestFunc

例えば、トレーニングセットを70%トレーニング/30%テストに分割するには、次のコードを使用します:

from sklearn.model_selection import train_test_split # import the function
X_train, X_test, y_train, y_test = train_test_split(X, y, test_size=0.3)
question-icon

モデルのMSEスコアに基づいて、トレーニングセットに対して過学習または過小適合しているかどうかを判断してください(データセットは同じです)。

Model 1: Training set's MSE=0.2, Test set's MSE=0.215 .
Model 2: Training set's MSE=0.14, Test set's MSE=0.42
.
Model 3: Training set's MSE=0.5, Test set's MSE=0.47
.

クリックまたはドラッグ`n`ドロップして空欄を埋めてください

すべて明確でしたか?

どのように改善できますか?

フィードバックありがとうございます!

セクション 4.  2

AIに質問する

expand

AIに質問する

ChatGPT

何でも質問するか、提案された質問の1つを試してチャットを始めてください

セクション 4.  2
some-alt