Que sont les métriques Sklearn et pourquoi devez-vous les connaître ?
Publié: 2021-10-22Python est l'un des langages de programmation les plus utilisés par les développeurs dans le monde. Ses capacités d'automatisation des données et d'algorithmes le rendent idéal pour créer et former des programmes, des machines et des systèmes informatiques et faire des prédictions. Par conséquent, les candidats ayant des compétences en Python sont de plus en plus privilégiés pour les cheminements de carrière lucratifs, tels que l'apprentissage automatique et la science des données.
Si vous êtes débutant, trouver les bons outils par vous-même peut sembler décourageant. Un logiciel gratuit comme Scikit-learn peut vous permettre d'acquérir des compétences pertinentes avec peu d'effort. La bibliothèque d'apprentissage automatique dispose de plusieurs algorithmes de classification, de régression et de clustering pour les programmeurs Python.
Ce blog se concentrera spécifiquement sur les problèmes de classification et les métriques sklearn pour vous guider dans votre parcours d'apprentissage. Vous en apprendrez plus sur l'application des mesures d'évaluation et comprendrez également les mathématiques qui les sous-tendent.
Table des matières
Métriques de classification dans Scikit-Learn
La classification fait partie intégrante de la modélisation prédictive. Vous l'utilisez pour identifier la classe à laquelle appartient un échantillon particulier d'une population. Supposons que vous vouliez prédire si un patient sera de nouveau hospitalisé. Les deux types possibles ici sont - Positif (Hospitalisé) et Négatif (Non Hospitalisé). Le modèle de classification prédirait le seau où l'échantillon devrait être placé, prédit positif ou prédit négatif. Vous découvrirez la précision des prédictions une fois que vous aurez entraîné le modèle.
La plupart des scientifiques des données et des ingénieurs en apprentissage automatique utilisent le package Scikit-Learn pour analyser les performances des modèles prédictifs. Le module de métriques sklearn vous donne accès à de nombreuses fonctionnalités intégrées. Découvrons le processus d'écriture de fonctions à partir de zéro avec ces métriques.
Rejoignez le cours d'apprentissage automatique en ligne des meilleures universités du monde - Masters, programmes de troisième cycle pour cadres et programme de certificat avancé en ML et IA pour accélérer votre carrière.
Explication des métriques Sklearn
Les métriques Sklearn vous permettent d'implémenter des scores, des pertes et des fonctions utilitaires pour évaluer les performances de classification.
Voici les étapes clés impliquées :
- Charger les données ;
- Divisez-le en ensemble de train et en ensemble de test ;
- Construire le modèle de formation ;
- Faire des prédictions ou des prévisions sur les données de test ;
- Évaluez le modèle d'apprentissage automatique avec une méthode particulière.
Pour continuer, vous devrez charger un exemple d'ensemble de données et des capacités de prédiction pour deux modèles, Random Forest et Linear Regression. Appelons-les Model_RF et Model_LR.
Exécutez ce code pour importer le module Pandas, lire le fichier de données et inspecter ses éléments.
importer des pandas en tant que ps
df = ps.read_csv('data.csv')
df.head()
Dans la plupart des projets, vous définissez un seuil et étiquetez les probabilités de prédiction comme prédites positives et prédites négatives. Cela ajouterait deux colonnes supplémentaires à votre tableau.
seuil = 0,5
df['forecasted_RF'] = (df.model_RF >= 0.5).astype('int')
df['forecasted_LR'] = (df.model_LR >= 0.5).astype('int')
df.head()
Maintenant que nous avons des étiquettes réelles et prévues, nous pouvons diviser nos échantillons en quatre tranches différentes.
Avec confusion_matrix, nous pouvons obtenir un tableau 2X2 avec les étiquettes bifurquées dans les compartiments suivants :
- Vrai positif (TP)
- Faux positif (FP)
- Faux négatif (FN)
- Vrai négatif (TN)
Après avoir importé le confusion_matrix à partir des métriques sklearn et passé les étiquettes réelles et prévues, vous pouvez définir vos fonctions pour le vérifier.
Vous pouvez également vérifier si vos résultats correspondent manuellement à l'aide de la fonction assert de Python et de la fonction array_equal de NumPy.
Nous pouvons calculer de nombreuses autres mesures de performance en utilisant les quatre compartiments de TP, FP, TN et FN. Ceux-ci sont:
1. précision_score
Il prend les étiquettes réelles et prévues comme entrées et produit la fraction d'échantillons prédits correctement.
2. rappel_score
Il donne la fraction d'événements positifs prédits correctement. Le rappel est également connu sous le nom de sensibilité.
3. précision_score
Il montre la fraction des événements positifs prédits qui sont positifs.
Après avoir calculé toutes ces métriques, supposons que vous trouviez le modèle RF meilleur en termes de rappel et de précision. Le choix ici serait facile. Mais que se passerait-il si le modèle LR était meilleur en rappel et le modèle RF était meilleur en précision ? Dans ce cas, vous auriez besoin d'une autre méthode appelée le score F1.
4. f1_score
C'est la moyenne harmonique du rappel et de la précision. Le modèle avec le score le plus élevé est considéré comme la meilleure option.
Les mesures ci-dessus ont été calculées avec un seuil défini de 0,5. On peut se demander si une modification de ce seuil modifierait également les mesures de performance. La réponse? Oui, il sera.
Nous avons une autre façon d'évaluer un modèle sans choisir de seuil, c'est-à-dire les courbes ROC (Receiver Operating Characteristic). Scikit-learn a également des fonctions intégrées pour les analyser.
Les fonctions roc_curve et roc_auc_score prennent les étiquettes réelles et les probabilités prévues comme entrées.
roc_curve
Il renvoie trois listes, à savoir les seuils (probabilités prévues uniques par ordre décroissant), FPR (les taux de faux positifs) et TPR (les taux de vrais positifs).
roc_auc_curve
Il trouve les aires sous la courbe pour les modèles RF et LR.
Vous pouvez déterminer la meilleure métrique de performance une fois que vous avez tracé la courbe ROC et ajouté l'AUC aux légendes.
Résumé
Dans l'analyse prédictive, vous pouvez choisir parmi une variété de mesures. L'exactitude, le rappel, la précision, le f1 et l'AUC sont quelques-uns des scores populaires.
Certains peuvent préférer définir un seuil et utiliser des mesures de performance telles que l'exactitude, le rappel, la précision et les scores f1. D'autres peuvent utiliser AUC pour analyser les performances d'un modèle car il ne nécessite pas de sélection de seuil. En fin de compte, vous devez opter pour la métrique qui convient le mieux au problème métier en question.
Avec cela, nous vous avons donné un aperçu des métriques sklearn. Vous pouvez utiliser ces informations pour clarifier les bases de la programmation Python et continuer à apprendre avec des cours en ligne. Vous pouvez également entreprendre des travaux de projet pour pratiquer et affiner vos compétences. Des programmes comme le Master of Science en apprentissage automatique et intelligence artificielle d'upGrad peuvent aider dans les deux cas.
Le programme vous familiarise avec la boîte à outils complète de la science des données et couvre les aspects pratiques de Scikit-Learn et d'autres logiciels. De plus, les diplômes d'instituts réputés tels que l'Université John Moores de Liverpool et l'IIIT Bangalore vous distinguent de la concurrence dans les demandes d'emploi et les entretiens de placement.
Que sont les métriques d'évaluation en Python ?
Les métriques d'évaluation sont généralement utilisées pour les problèmes de classification en Python. Scikit-Learn est une bibliothèque d'apprentissage automatique gratuite qui permet un large éventail de tâches d'analyse prédictive. Les aspirants scientifiques des données et les ingénieurs en apprentissage automatique peuvent l'utiliser pour faire des prédictions sur les données et pour analyser la qualité de modèles spécifiques.
Pourquoi avez-vous besoin de métriques sklearn ?
Les métriques Sklearn vous permettent d'évaluer la qualité de vos prédictions. Vous pouvez utiliser ce module dans Scikit-Learn pour divers ensembles de données, fonctions de score et métriques de performance. La matrice de confusion dans sklearn est une représentation pratique de la précision des prédictions. Avec des entrées telles que des étiquettes réelles et prédites, ainsi qu'un seuil défini ou une valeur de confiance, vous pouvez calculer des métriques telles que le rappel, la précision et les scores f1. La méthode de la courbe ROC équilibre les estimations de probabilité et donne une métrique de performance en termes d'aire sous la courbe.
Comment la formation postdoctorale en IA et ML aide-t-elle à l'avancement professionnel ?
La plupart des certifications avancées dans le domaine de l'intelligence artificielle et de l'apprentissage automatique incluent des outils tels que Scikit-Learn dans le programme. C'est un élément essentiel de la programmation Python et de la formation en science des données. Mais les recettes de codage en Python et Scikit-Learn ne suffisent pas dans l'environnement de travail concurrentiel d'aujourd'hui. Vous devez acquérir des connaissances axées sur l'industrie et mettre en pratique vos compétences. Alors, choisissez des programmes d'études qui offrent des opportunités de mettre en œuvre des projets et des missions.