Maison > Article > développement back-end > Évaluation d'un modèle de classification d'apprentissage automatique
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.
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.
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.
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.
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.
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.
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.
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.
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é :
Regardons maintenant la 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.
Expliquons certaines de ses terminologies de base.
Voyons comment nous pouvons calculer les métriques
En conclusion :
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!