9. Mesures de validation croisée et d'évaluation

Lorsque vous travaillez avec le machine learning et le deep learning, il est essentiel non seulement de créer des modèles qui semblent fonctionner correctement, mais également de garantir que ces modèles sont robustes, fiables et que leurs performances peuvent être quantifiées de manière adéquate. Ceci est réalisé grâce à l'utilisation de techniques de validation croisée et de mesures d'évaluation.

Validation croisée

La validation croisée est une technique utilisée pour évaluer la capacité de généralisation d'un modèle, c'est-à-dire sa capacité à fonctionner correctement sur des données inédites. Il est essentiel d'éviter des problèmes tels que le surajustement, où le modèle s'adapte parfaitement aux données d'entraînement mais ne parvient pas à traiter les nouvelles données.

Il existe plusieurs façons d'effectuer une validation croisée, mais la plus courante est la validation croisée k fois. Dans cette approche, l'ensemble de données est divisé en k parties (ou « plis ») de taille approximativement égale. Le modèle est entraîné k fois, en utilisant à chaque fois k-1 plis pour l'entraînement et le pli restant pour les tests. Cela se traduit par k mesures de performances différentes, qui sont généralement résumées sous forme de moyenne et d'écart type pour fournir une estimation plus stable de la capacité du modèle.

Mesures d'évaluation

Les métriques d'évaluation sont utilisées pour quantifier les performances d'un modèle de machine learning. Le choix de la bonne métrique dépend en grande partie du type de problème résolu (classification, régression, classement, etc.) et des objectifs spécifiques du projet. Vous trouverez ci-dessous quelques-unes des métriques les plus couramment utilisées dans les problèmes de classification et de régression :

Classement

  • Exactitude : proportion de prédictions correctes par rapport au nombre total de cas. Bien qu'il s'agisse de la mesure la plus intuitive, elle peut être trompeuse dans les ensembles de données déséquilibrés.
  • Précision : proportion de prédictions positives correctes par rapport au total des prédictions positives. Il s'agit d'une mesure importante lorsque le coût d'un faux positif est élevé.
  • Rappel (sensibilité) : proportion de vrais positifs par rapport au nombre total de cas vrais positifs. C'est crucial lorsque le coût d'un faux négatif est important.
  • F1 Score : une mesure harmonique entre précision et rappel. Ceci est utile lorsque l'on recherche un équilibre entre ces deux mesures.
  • AUC-ROC : l'aire sous la courbe caractéristique de fonctionnement du récepteur (AUC-ROC) est une mesure de performances pour les classificateurs binaires. Il mesure la capacité du modèle à distinguer les classes.

Régression

  • Erreur quadratique moyenne (MSE) : moyenne des carrés des différences entre les valeurs prédites et réelles. Pénalise plus lourdement les grosses erreurs.
  • Erreur absolue moyenne (MAE) : moyenne de la valeur absolue des différences entre les prédictions et les valeurs réelles. Il est moins sensible aux valeurs aberrantes que MSE.
  • Erreur quadratique moyenne (RMSE) : racine carrée de la MSE. Il est utile car il se trouve dans la même unité que les données d'entrée et est plus sensible aux valeurs aberrantes que MAE.
  • Coefficient de détermination (R²) : mesure de la mesure dans laquelle les prédictions du modèle se rapprochent des données réelles. Une valeur R² proche de 1 indique un très bon ajustement.

Implémentation de la validation croisée en Python

En Python, la bibliothèque Scikit-learn propose des outils puissants pour effectuer une validation croisée et calculer des métriques d'évaluation. Le module model_selection possède la classe KFold pour effectuer une validation croisée k-fold, et le module metrics fournit des fonctions pour calculer diverses mesures de performances. à partir de sklearn.model_selection importer cross_val_score, KFold à partir de sklearn.metrics, importez précision_score, précision_score, rappel_score, f1_score, moyenne_squared_error, r2_score à partir de sklearn.ensemble importer RandomForestClassifier à partir de sklearn.datasets importer make_classification # Création d'un exemple d'ensemble de données X, y = make_classification(n_samples=1000, n_features=20, n_informative=2, n_redundant=10, random_state=42) # Instanciation du modèle modèle = RandomForestClassifier() # Effectuer une validation croisée k-fold kf = KFold(n_splits=5) scores = cross_val_score(modèle, X, y, cv=kf) print(f"Précision moyenne : {scores.mean():.2f} (+/- {scores.std() * 2:.2f})")

Cette approche permet aux praticiens du machine learning et du deep learning de tester et de comparer différents modèles de manière équitable et rigoureuse, garantissant ainsi que les résultats sont fiables et reproductibles.

Conclusion

Les mesures de validation croisée et d'évaluation sont des éléments cruciaux dans le développement de modèles de machine learning et de deep learning. Ils fournissent un cadre pour prévenir le surapprentissage et pourvraiment comprendre les performances du modèle. En appliquant correctement ces techniques et métriques, vous pouvez développer des modèles robustes et fiables qui fonctionnent bien dans la pratique, et pas seulement sur un ensemble de données d'entraînement spécifique.

Répondez maintenant à l’exercice sur le contenu :

Quel est l’objectif principal de la validation croisée dans l’apprentissage automatique ?

Tu as raison! Félicitations, passez maintenant à la page suivante

Vous avez raté! Essayer à nouveau.

Image de l'article Modèles de classification : arbres de décision et K-NN

Page suivante de lebook gratuit :

38Modèles de classification : arbres de décision et K-NN

0 minutes

Obtenez votre certificat pour ce cours gratuitement ! en téléchargeant lapplication Cursa et en lisant lebook qui sy trouve. Disponible sur Google Play ou App Store !

Get it on Google Play Get it on App Store

+ 6,5 millions
d'étudiants

Certificat gratuit et
valide avec QR Code

48 mille exercices
gratuits

Note de 4,8/5 dans les
magasins d'applications

Cours gratuits en
vidéo, audio et texte