Calculer une matrice de confusion
Comme vous l’avez 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 toutes les issues 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 « seuiller » vos probabilités prédites à un seuil donné afin de transformer des probabilités en un facteur de prédictions de classes. Combinez ifelse() avec factor() comme suit :
pos_or_neg <- ifelse(probability_prediction > threshold, positive_class, negative_class)
p_class <- factor(pos_or_neg, levels = levels(test_values))
confusionMatrix() dans caret améliore table() de R de base en ajoutant de nombreuses statistiques complémentaires utiles en plus des taux de base du tableau. Vous pouvez calculer la matrice de confusion (et les statistiques associées) à partir des résultats prédits ainsi que des résultats observés, par exemple :
confusionMatrix(p_class, test_values)
Cet exercice fait partie du cours
Machine Learning avec caret en R
Instructions
- Utilisez
ifelse()pour créer un vecteur de caractères,m_or_r, qui vaut la classe positive,"M", lorsquepest supérieur à 0,5, et la classe négative,"R", sinon. - Convertissez
m_or_ren facteur,p_class, avec des modalités identiques à celles detest[["Class"]]. - Créez une matrice de confusion avec
confusionMatrix(), en passantp_classet la colonne"Class"du jeu de donnéestest.
Exercice interactif pratique
Essayez cet exercice en complétant cet exemple de code.
# If p exceeds threshold of 0.5, M else R: m_or_r
# Convert to factor: p_class
# Create confusion matrix