Notice: This page requires JavaScript to function properly.
Please enable JavaScript in your browser settings or update your browser.
Apprendre Surapprentissage | Choix du Meilleur Modèle
Régression Linéaire Avec Python

Surapprentissage

Glissez pour afficher le menu

Surapprentissage

Considérez les deux droites de régression ci-dessous. Laquelle est la meilleure ?

ExempleDeSurapprentissage

Les métriques suggèrent que le second modèle est meilleur, donc nous l'utilisons pour prédire X_new = [0.2, 0.5, 2.7]. Mais après comparaison des prédictions avec les valeurs réelles, le premier modèle donne de meilleurs résultats.

Prédiction de surapprentissage

Cela se produit parce que le deuxième modèle surapprend — il est trop complexe et correspond trop étroitement aux données d'entraînement, ce qui l'empêche de généraliser à de nouveaux cas.

Sous-apprentissage

Le sous-apprentissage survient lorsqu'un modèle est trop simple pour s'ajuster même aux données d'entraînement, ce qui conduit également à de mauvaises prédictions sur des données non vues.

UnderfittingExample

Nous pouvons donc essayer de déterminer visuellement si le modèle sous-ajuste ou sur-ajuste.

UnderGoodOver

Comme il n'est pas possible de visualiser des modèles de haute dimension, une autre méthode est nécessaire pour détecter le surapprentissage ou le sous-apprentissage.

Séparation entraînement-test

Pour estimer la performance sur des données non vues, le jeu de données est divisé en un ensemble d'entraînement et un ensemble de test avec des cibles connues.

maisons entraînement test

Entraînement sur l'ensemble d'apprentissage et calcul des métriques sur les ensembles d'apprentissage et de test pour comparer les performances.

résultats_entrainement_test
Vidéo_Entrainement_Test

La répartition doit être aléatoire. En général, 20 à 30 % des données sont affectées à l'ensemble de test, et 70 à 80 % sont utilisées pour l'entraînement. Scikit-learn propose une méthode simple pour effectuer cette opération.

TrainTestFunc

Par exemple, pour diviser l'ensemble d'entraînement en 70 % pour l'entraînement et 30 % pour le test, le code suivant peut être utilisé :

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

En vous basant sur les scores MSE des modèles, déterminez s'ils surajustent ou sous-ajustent l'ensemble d'entraînement (le jeu de données est le même).

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
.

Cliquez ou glissez-déposez des éléments et remplissez les blancs

Tout était clair ?

Comment pouvons-nous l'améliorer ?

Merci pour vos commentaires !

Section 4. Chapitre 2

Demandez à l'IA

expand

Demandez à l'IA

ChatGPT

Posez n'importe quelle question ou essayez l'une des questions suggérées pour commencer notre discussion

Surapprentissage

Surapprentissage

Considérez les deux droites de régression ci-dessous. Laquelle est la meilleure ?

ExempleDeSurapprentissage

Les métriques suggèrent que le second modèle est meilleur, donc nous l'utilisons pour prédire X_new = [0.2, 0.5, 2.7]. Mais après comparaison des prédictions avec les valeurs réelles, le premier modèle donne de meilleurs résultats.

Prédiction de surapprentissage

Cela se produit parce que le deuxième modèle surapprend — il est trop complexe et correspond trop étroitement aux données d'entraînement, ce qui l'empêche de généraliser à de nouveaux cas.

Sous-apprentissage

Le sous-apprentissage survient lorsqu'un modèle est trop simple pour s'ajuster même aux données d'entraînement, ce qui conduit également à de mauvaises prédictions sur des données non vues.

UnderfittingExample

Nous pouvons donc essayer de déterminer visuellement si le modèle sous-ajuste ou sur-ajuste.

UnderGoodOver

Comme il n'est pas possible de visualiser des modèles de haute dimension, une autre méthode est nécessaire pour détecter le surapprentissage ou le sous-apprentissage.

Séparation entraînement-test

Pour estimer la performance sur des données non vues, le jeu de données est divisé en un ensemble d'entraînement et un ensemble de test avec des cibles connues.

maisons entraînement test

Entraînement sur l'ensemble d'apprentissage et calcul des métriques sur les ensembles d'apprentissage et de test pour comparer les performances.

résultats_entrainement_test
Vidéo_Entrainement_Test

La répartition doit être aléatoire. En général, 20 à 30 % des données sont affectées à l'ensemble de test, et 70 à 80 % sont utilisées pour l'entraînement. Scikit-learn propose une méthode simple pour effectuer cette opération.

TrainTestFunc

Par exemple, pour diviser l'ensemble d'entraînement en 70 % pour l'entraînement et 30 % pour le test, le code suivant peut être utilisé :

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)
Tout était clair ?

Comment pouvons-nous l'améliorer ?

Merci pour vos commentaires !

Section 4. Chapitre 2
some-alt