Cours
Si vous souhaitez suivre notre cours Machine Learning Toolbox, voici le lien.
Calculer une matrice de confusion
Comme vu dans la vidéo, une matrice de confusion est un outil très utile pour calibrer la sortie d’un modèle et examiner tous les cas possibles de vos prédictions (vrai positif, vrai négatif, faux positif, faux négatif).
Avant de créer votre matrice de confusion, vous devez « seuiler » vos probabilités prédites afin de les transformer en classes prédites. Vous pouvez le faire facilement avec la fonction ifelse(), par exemple :
class_prediction <-
ifelse(probability_prediction > 0.50,
"positive_class",
"negative_class"
)
Vous pourriez obtenir un tel tableau de contingence avec la fonction table() de base R, mais confusionMatrix() dans caret renvoie, en plus des fréquences du tableau, de nombreux indicateurs complémentaires très utiles. Vous pouvez calculer la matrice de confusion (et les statistiques associées) en utilisant les valeurs prédites et les valeurs réelles, par exemple :
confusionMatrix(predicted, actual)
Consignes
- Transformez les prédictions numériques
pen un vecteur de classes prédites appelép_class, avec un seuil de 0,50. Utilisez"M"pour la classe positive et"R"pour la classe négative afin de correspondre aux classes des données originales. - Créez une matrice de confusion en utilisant
p_class, les valeurs réelles de l’ensembletestet la fonctionconfusionMatrix().
Si tout est clair, passez à l’exercice suivant ! Sinon, voici une vidéo récapitulative.
Vue d’ensemble de la matrice de confusion
Des probabilités à la matrice de confusion
À l’inverse, si vous souhaitez être certain d’identifier correctement toutes les mines comme des mines, vous pouvez utiliser un seuil de prédiction de 0,10 au lieu de 0,90.
Vous pouvez construire la matrice de confusion comme précédemment, en utilisant vos nouvelles classes prédites :
pred <- ifelse(probability > threshold, "M", "R")
Vous pouvez ensuite appeler la fonction confusionMatrix() de la même manière que dans l’exercice précédent :
confusionMatrix(pred, actual)
Pour en apprendre davantage avec ce cours, voici le lien.