Évaluation du Modèle
Séparation des données
Une fois qu'un réseau de neurones est entraîné, il est nécessaire d'évaluer ses performances sur des données non vues. Cela permet de déterminer si le modèle a réellement appris des schémas utiles ou s'il a simplement mémorisé les données d'entraînement. Pour ce faire, le jeu de données est divisé en deux parties :
- Ensemble d'entraînement : cette partie des données est utilisée pour entraîner le réseau de neurones, lui permettant d'ajuster les poids et les biais via la rétropropagation ;
- Ensemble de test : après l'entraînement, le modèle est évalué sur cet ensemble de données distinct afin de mesurer sa capacité à généraliser à de nouveaux exemples non vus.
Une répartition typique est de 80 % pour l'entraînement / 20 % pour le test, bien que cela puisse varier selon la taille et la complexité du jeu de données.
La séparation entraînement/test 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
spécifie la proportion du jeu de données à utiliser comme ensemble de test. Par exemple, en définissant test_size=0.1
, 10 % des données seront utilisées pour le test, tandis que les 90 % restants serviront à l'entraînement.
Si un modèle obtient de bons résultats sur les données d'entraînement mais de mauvais résultats sur les données de test, il peut s'agir d'un surapprentissage, c'est-à-dire que le modèle a mémorisé l'ensemble d'entraînement au lieu d'apprendre des schémas généralisables. L'objectif est d'obtenir une précision élevée sur l'ensemble de test tout en maintenant une bonne généralisation.
Une fois le modèle entraîné, il est nécessaire de quantifier ses performances à l'aide de mesures. Le choix de la mesure dépend 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 :
- exactitude ;
- 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 vision 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, offrant 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 beaucoup plus fréquemment que l'autre.
F1=precision+recall2×precision×recall1. Quel est le principal objectif de diviser votre ensemble 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 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
Awesome!
Completion rate improved to 4
Évaluation du Modèle
Glissez pour afficher le menu
Séparation des données
Une fois qu'un réseau de neurones est entraîné, il est nécessaire d'évaluer ses performances sur des données non vues. Cela permet de déterminer si le modèle a réellement appris des schémas utiles ou s'il a simplement mémorisé les données d'entraînement. Pour ce faire, le jeu de données est divisé en deux parties :
- Ensemble d'entraînement : cette partie des données est utilisée pour entraîner le réseau de neurones, lui permettant d'ajuster les poids et les biais via la rétropropagation ;
- Ensemble de test : après l'entraînement, le modèle est évalué sur cet ensemble de données distinct afin de mesurer sa capacité à généraliser à de nouveaux exemples non vus.
Une répartition typique est de 80 % pour l'entraînement / 20 % pour le test, bien que cela puisse varier selon la taille et la complexité du jeu de données.
La séparation entraînement/test 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
spécifie la proportion du jeu de données à utiliser comme ensemble de test. Par exemple, en définissant test_size=0.1
, 10 % des données seront utilisées pour le test, tandis que les 90 % restants serviront à l'entraînement.
Si un modèle obtient de bons résultats sur les données d'entraînement mais de mauvais résultats sur les données de test, il peut s'agir d'un surapprentissage, c'est-à-dire que le modèle a mémorisé l'ensemble d'entraînement au lieu d'apprendre des schémas généralisables. L'objectif est d'obtenir une précision élevée sur l'ensemble de test tout en maintenant une bonne généralisation.
Une fois le modèle entraîné, il est nécessaire de quantifier ses performances à l'aide de mesures. Le choix de la mesure dépend 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 :
- exactitude ;
- 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 vision 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, offrant 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 beaucoup plus fréquemment que l'autre.
F1=precision+recall2×precision×recall1. Quel est le principal objectif de diviser votre ensemble 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 ensemble de données déséquilibré ?
Merci pour vos commentaires !