Évaluation du Modèle
Séparation des données
Après l'entraînement d'un réseau de neurones, il est essentiel d'évaluer ses performances sur des données non vues. Cette évaluation permet de déterminer si le modèle a appris des schémas pertinents ou s'il s'est contenté de mémoriser les exemples d'entraînement. Pour cela, l'ensemble de données est divisé en deux parties :
- Ensemble d'entraînement — utilisé pour entraîner le réseau de neurones en ajustant ses poids et biais via la rétropropagation ;
- Ensemble de test — utilisé après l'entraînement pour évaluer la capacité du modèle à généraliser sur de nouvelles données non vues.
Une répartition courante est 80 % pour l'entraînement et 20 % pour le test, bien que ce ratio puisse varier selon la taille et la complexité de l'ensemble de données.
La séparation des données s'effectue généralement à l'aide de la fonction train_test_split() du module sklearn.model_selection :
from sklearn.model_selection import train_test_split
X_train, X_test, y_train, y_test = train_test_split(X, y, test_size=...)
Le paramètre test_size détermine la proportion de données réservées au test. Par exemple, en définissant test_size=0.1, 10 % des données seront utilisées pour le test, tandis que 90 % serviront à l'entraînement.
Si le modèle obtient de bons résultats sur l'ensemble d'entraînement mais de mauvais résultats sur l'ensemble de test, il peut s'agir d'un surapprentissage — le modèle apprend des schémas trop spécifiques aux données d'entraînement au lieu de généraliser à de nouveaux exemples. L'objectif est d'obtenir de bonnes performances sur les deux ensembles, garantissant ainsi une bonne généralisation du modèle.
Une fois les données séparées et le modèle entraîné, il convient de mesurer les performances à l'aide de mesures d'évaluation appropriées, qui dépendent de la tâche de classification spécifique.
Mesures de classification
Pour les problèmes de classification, plusieurs mesures clés permettent d'évaluer les prédictions du modèle :
- Précision globale ;
- Précision ;
- Rappel ;
- Score F1.
Puisqu'un perceptron effectue une classification binaire, la création d'une matrice de confusion permet de mieux comprendre ces mesures.
Une matrice de confusion est un tableau qui résume les performances de classification du modèle en comparant les étiquettes prédites avec les étiquettes réelles. Elle fournit des informations sur le nombre de prédictions correctes et incorrectes pour chaque classe (1 et 0).
Précision mesure la proportion d'échantillons correctement classés sur le total. Si un modèle classe correctement 90 sur 100 images, sa précision est de 90%.
accuracy=allcorrect=TP+TN+FP+FNTP+TNBien que la précision soit utile, elle ne donne pas toujours une vue complète—en particulier pour les ensembles de données déséquilibrés. Par exemple, dans un ensemble où 95% des échantillons appartiennent à une seule classe, un modèle pourrait atteindre 95% de précision simplement en prédisant toujours la classe majoritaire—sans réellement apprendre quoi que ce soit d'utile. Dans de tels cas, la précision, le rappel ou le score F1 peuvent être plus informatifs.
Précision correspond au pourcentage de cas positifs correctement prédits parmi tous les positifs prédits. Cette métrique est particulièrement utile lorsque les faux positifs sont coûteux, comme dans la détection de spam ou de fraude.
precision=predicted positivecorrect positive=TP+FPTPRappel (sensibilité) mesure combien de cas positifs réels le modèle identifie correctement. Un rappel élevé est essentiel dans les situations où il faut minimiser les faux négatifs, comme dans les diagnostics médicaux.
recall=all positivecorrect positive=TP+FNTPF1-score est la moyenne harmonique de la précision et du rappel, fournissant une mesure équilibrée lorsque les faux positifs et les faux négatifs sont importants. Ceci est utile lorsque le jeu de données est déséquilibré, c'est-à-dire lorsqu'une classe apparaît significativement plus que l'autre.
F1=precision+recall2×precision×recall1. Quel est le principal objectif de diviser votre jeu de données en ensembles d'entraînement et de test ?
2. Pourquoi le F1-score pourrait-il être préféré à la précision sur un jeu de données déséquilibré ?
Merci pour vos commentaires !
Demandez à l'IA
Demandez à l'IA
Posez n'importe quelle question ou essayez l'une des questions suggérées pour commencer notre discussion
Awesome!
Completion rate improved to 4
Évaluation du Modèle
Glissez pour afficher le menu
Séparation des données
Après l'entraînement d'un réseau de neurones, il est essentiel d'évaluer ses performances sur des données non vues. Cette évaluation permet de déterminer si le modèle a appris des schémas pertinents ou s'il s'est contenté de mémoriser les exemples d'entraînement. Pour cela, l'ensemble de données est divisé en deux parties :
- Ensemble d'entraînement — utilisé pour entraîner le réseau de neurones en ajustant ses poids et biais via la rétropropagation ;
- Ensemble de test — utilisé après l'entraînement pour évaluer la capacité du modèle à généraliser sur de nouvelles données non vues.
Une répartition courante est 80 % pour l'entraînement et 20 % pour le test, bien que ce ratio puisse varier selon la taille et la complexité de l'ensemble de données.
La séparation des données s'effectue généralement à l'aide de la fonction train_test_split() du module sklearn.model_selection :
from sklearn.model_selection import train_test_split
X_train, X_test, y_train, y_test = train_test_split(X, y, test_size=...)
Le paramètre test_size détermine la proportion de données réservées au test. Par exemple, en définissant test_size=0.1, 10 % des données seront utilisées pour le test, tandis que 90 % serviront à l'entraînement.
Si le modèle obtient de bons résultats sur l'ensemble d'entraînement mais de mauvais résultats sur l'ensemble de test, il peut s'agir d'un surapprentissage — le modèle apprend des schémas trop spécifiques aux données d'entraînement au lieu de généraliser à de nouveaux exemples. L'objectif est d'obtenir de bonnes performances sur les deux ensembles, garantissant ainsi une bonne généralisation du modèle.
Une fois les données séparées et le modèle entraîné, il convient de mesurer les performances à l'aide de mesures d'évaluation appropriées, qui dépendent de la tâche de classification spécifique.
Mesures de classification
Pour les problèmes de classification, plusieurs mesures clés permettent d'évaluer les prédictions du modèle :
- Précision globale ;
- Précision ;
- Rappel ;
- Score F1.
Puisqu'un perceptron effectue une classification binaire, la création d'une matrice de confusion permet de mieux comprendre ces mesures.
Une matrice de confusion est un tableau qui résume les performances de classification du modèle en comparant les étiquettes prédites avec les étiquettes réelles. Elle fournit des informations sur le nombre de prédictions correctes et incorrectes pour chaque classe (1 et 0).
Précision mesure la proportion d'échantillons correctement classés sur le total. Si un modèle classe correctement 90 sur 100 images, sa précision est de 90%.
accuracy=allcorrect=TP+TN+FP+FNTP+TNBien que la précision soit utile, elle ne donne pas toujours une vue complète—en particulier pour les ensembles de données déséquilibrés. Par exemple, dans un ensemble où 95% des échantillons appartiennent à une seule classe, un modèle pourrait atteindre 95% de précision simplement en prédisant toujours la classe majoritaire—sans réellement apprendre quoi que ce soit d'utile. Dans de tels cas, la précision, le rappel ou le score F1 peuvent être plus informatifs.
Précision correspond au pourcentage de cas positifs correctement prédits parmi tous les positifs prédits. Cette métrique est particulièrement utile lorsque les faux positifs sont coûteux, comme dans la détection de spam ou de fraude.
precision=predicted positivecorrect positive=TP+FPTPRappel (sensibilité) mesure combien de cas positifs réels le modèle identifie correctement. Un rappel élevé est essentiel dans les situations où il faut minimiser les faux négatifs, comme dans les diagnostics médicaux.
recall=all positivecorrect positive=TP+FNTPF1-score est la moyenne harmonique de la précision et du rappel, fournissant une mesure équilibrée lorsque les faux positifs et les faux négatifs sont importants. Ceci est utile lorsque le jeu de données est déséquilibré, c'est-à-dire lorsqu'une classe apparaît significativement plus que l'autre.
F1=precision+recall2×precision×recall1. Quel est le principal objectif de diviser votre jeu de données en ensembles d'entraînement et de test ?
2. Pourquoi le F1-score pourrait-il être préféré à la précision sur un jeu de données déséquilibré ?
Merci pour vos commentaires !