Maison  >  Article  >  développement back-end  >  Évaluation d'un modèle de classification d'apprentissage automatique

Évaluation d'un modèle de classification d'apprentissage automatique

WBOY
WBOYoriginal
2024-09-07 14:01:071114parcourir

Contour

  • Quel est le but de l'évaluation du modèle ?
  • Quel est le but de l'évaluation du modèle et quels en sont les procédures d'évaluation communes ?
  • À quoi sert la précision de la classification et quelles sont ses limites ?
  • Comment une matrice de confusion décrit-elle les performances d'un classificateur ?
  • Quelles métriques peuvent être calculées à partir d'une matrice de confusion ?

Ll'objectif de l'évaluation du modèle est de répondre à la question ;

Comment choisir entre les différents modèles ?

Le processus d'évaluation d'un apprentissage automatique aide à déterminer dans quelle mesure le modèle est fiable et efficace pour son application. Cela implique d'évaluer différents facteurs tels que ses performances, ses mesures et sa précision pour les prédictions ou la prise de décision.

Quel que soit le modèle que vous choisissez d'utiliser, vous avez besoin d'un moyen de choisir entre les modèles : différents types de modèles, paramètres de réglage et fonctionnalités. Vous avez également besoin d'une procédure d'évaluation du modèle pour estimer dans quelle mesure un modèle se généralisera à des données invisibles. Enfin, vous avez besoin d'une procédure d'évaluation à associer à votre procédure pour quantifier les performances de votre modèle.

Avant de continuer, passons en revue certaines des différentes procédures d'évaluation des modèles et leur fonctionnement.

Modèles de procédures d’évaluation et comment elles fonctionnent.

  1. Formation et tests sur les mêmes données
    • Récompense les modèles trop complexes qui « surajustent » les données d'entraînement et ne généralisent pas nécessairement
  2. Répartition entraînement/test
    • Divisez l'ensemble de données en deux parties, afin que le modèle puisse être entraîné et testé sur différentes données
    • Meilleure estimation des performances hors échantillon, mais toujours une estimation à « variance élevée »
    • Utile en raison de sa rapidité, de sa simplicité et de sa flexibilité
  3. Validation croisée K-fold
    • Créez systématiquement des répartitions train/test « K » et faites la moyenne des résultats ensemble
    • Une estimation encore meilleure des performances hors échantillon
    • Exécute "K" fois plus lentement que la répartition train/test.

De dessus, on peut déduire que :

  • La formation et les tests sur les mêmes données sont une cause classique de surapprentissage dans laquelle vous construisez un modèle trop complexe qui ne se généralisera pas à de nouvelles données et qui n'est pas réellement utile.

  • Train_Test_Split fournit une bien meilleure estimation des performances hors échantillon.

  • La validation croisée K-fold fait mieux en séparant systématiquement les tests de train K et en faisant la moyenne des résultats ensemble.

En résumé, train_tests_split est toujours rentable pour la validation croisée de par sa rapidité et sa simplicité, et c'est ce que nous utiliserons dans ce guide tutoriel.

Paramètres d'évaluation du modèle :

Vous aurez toujours besoin d'une métrique d'évaluation pour accompagner la procédure que vous avez choisie, et votre choix de métrique dépend du problème que vous abordez. Pour les problèmes de classification, vous pouvez utiliser la précision de la classification. Mais nous nous concentrerons sur d'autres mesures d'évaluation de classification importantes dans ce guide.

Avant d'apprendre de nouvelles mesures d'évaluation, passons en revue la exactitude de la classification et parlons de ses forces et de ses faiblesses.

Précision de la classification

Nous avons choisi l'ensemble de données Pima Indians Diabetes pour ce tutoriel, qui comprend les données de santé et l'état de diabète de 768 patients.

Evaluating A Machine Learning Classification Model

Lisons les données et imprimons les 5 premières lignes des données. La colonne d'étiquette indique 1 si le patient est diabétique et 0 si le patient n'est pas diabétique, et nous avons l'intention de répondre à la question :

Question : Peut-on prédire l'état diabétique d'un patient en fonction de ses mesures de santé ?

Nous définissons nos métriques de fonctionnalités X et notre vecteur de réponse Y. Nous utilisons train_test_split pour diviser X et Y en ensemble de formation et de test.

Evaluating A Machine Learning Classification Model

Ensuite, nous formons un modèle de régression logistique sur l'ensemble d'entraînement. Au cours de l'étape d'ajustement, l'objet modèle logreg apprend la relation entre X_train et Y_train. Enfin, nous faisons des prédictions de classe pour les ensembles de tests.

Evaluating A Machine Learning Classification Model

Evaluating A Machine Learning Classification Model

Maintenant, nous avons fait des prédictions pour l'ensemble de tests, nous pouvons calculer la précision de la classification, qui est simplement le pourcentage de prédictions correctes.

Evaluating A Machine Learning Classification Model

Cependant, chaque fois que vous utilisez la précision de la classification comme mesure d'évaluation, il est important de la comparer avec la Précision nulle, qui est la précision qui pourrait être obtenue en prédisant toujours la classe la plus fréquente.

Evaluating A Machine Learning Classification Model

Précision nulle répond à la question ; si mon modèle devait prédire la classe prédominante 100 % du temps, à quelle fréquence sera-t-il correct ? Dans le scénario ci-dessus, 32% des y_test sont 1 (uns). En d'autres termes, un modèle stupide qui prédit que le patient est diabétique aurait raison 68 % du temps (ce qui correspond aux zéros). Cela fournit une base de référence par rapport à laquelle nous pourrions vouloir mesurer notre régression logistique. modèle.

Lorsque nous comparons la précision nulle de 68 % et la précision du modèle de 69 %, notre modèle n'a pas l'air très bon. Cela démontre une faiblesse de l’exactitude de la classification en tant que mesure d’évaluation du modèle. L'exactitude de la classification ne nous dit rien sur la distribution sous-jacente du test de test.

En résumé :

  • La précision de la classification est la métrique de classification la plus simple à comprendre
  • Mais cela ne vous indique pas la distribution sous-jacente des valeurs de réponse
  • Et il ne vous dit pas quels "types" d'erreurs votre classificateur fait.

Regardons maintenant la matrice de confusion.

Matrice de confusion

La matrice de confusion est un tableau qui décrit les performances d'un modèle de classification.
Il est utile pour vous aider à comprendre les performances de votre classificateur, mais il ne s'agit pas d'une métrique d'évaluation de modèle ; vous ne pouvez donc pas dire à scikit d'apprendre à choisir le modèle avec la meilleure matrice de confusion. Cependant, de nombreuses métriques peuvent être calculées à partir de la matrice de confusion et celles-ci peuvent être directement utilisées pour choisir entre les modèles.

Evaluating A Machine Learning Classification Model

  • Chaque observation de l'ensemble de tests est représentée dans exactement une case
  • C'est une matrice 2x2 car il y a 2 classes de réponses
  • Le format présenté ici n'est pasuniversel

Expliquons certaines de ses terminologies de base.

  • Vrais positifs (TP) : nous correctement avons prédit qu'ils ont le diabète
  • Vrais négatifs (TN) : nous correctement avons prédit qu'ils ne sont pas atteints de diabète
  • Faux positifs (FP) : nous à tort avons prédit qu'ils ont le diabète (une « erreur de type I »)
  • Faux Négatifs (FN) : nous à tort avons prédit qu'ils ne sont pas atteints de diabète (une « erreur de type II »)

Voyons comment nous pouvons calculer les métriques

Evaluating A Machine Learning Classification Model

Evaluating A Machine Learning Classification Model

Evaluating A Machine Learning Classification Model

En conclusion :

  • La matrice de confusion vous donne une image plus complète des performances de votre classificateur
  • Vous permet également de calculer diverses métriques de classification, et ces métriques peuvent guider la sélection de votre modèle

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Déclaration:
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn