É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 est généralement réalisée à 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é, les performances doivent être mesurées à 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 peuvent être utilisées pour évaluer les prédictions du modèle :
- Précision ;
- Précision positive ;
- Rappel ;
- Score F1.
Puisqu'un perceptron effectue une classification binaire, la création d'une matrice de confusion vous aidera à 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 est le 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+FNTPLe score F1 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 l'ensemble de données est déséquilibré, c'est-à-dire lorsqu'une classe apparaît significativement plus que l'autre.
F1=preˊcision+rappel2×preˊcision×rappel1. Quel est le principal objectif de diviser votre ensemble de données en ensembles d'entraînement et de test ?
2. Pourquoi le score F1 pourrait-il être préféré à la précision sur un ensemble 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
Can you explain what a confusion matrix is and how to interpret it?
How do I choose which evaluation metric to use for my classification problem?
Can you give examples of when to prioritize precision over recall, or vice versa?
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 est généralement réalisée à 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é, les performances doivent être mesurées à 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 peuvent être utilisées pour évaluer les prédictions du modèle :
- Précision ;
- Précision positive ;
- Rappel ;
- Score F1.
Puisqu'un perceptron effectue une classification binaire, la création d'une matrice de confusion vous aidera à 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 est le 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+FNTPLe score F1 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 l'ensemble de données est déséquilibré, c'est-à-dire lorsqu'une classe apparaît significativement plus que l'autre.
F1=preˊcision+rappel2×preˊcision×rappel1. Quel est le principal objectif de diviser votre ensemble de données en ensembles d'entraînement et de test ?
2. Pourquoi le score F1 pourrait-il être préféré à la précision sur un ensemble de données déséquilibré ?
Merci pour vos commentaires !