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 étalonner la sortie d'un modèle et examiner tous les résultats 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 « couper » vos probabilités prédites à un seuil donné pour transformer les probabilités en facteur de classes prédites. 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 réels, par exemple :
confusionMatrix(p_class, test_values)
Cette activité fait partie du cours
Machine Learning avec caret en R
Instructions de l’exercice
- Utilisez
ifelse()pour créer un vecteur de caractères,m_or_r, qui prend la classe positive,"M", lorsquepest supérieur à 0.5, et la classe négative,"R", sinon. - Convertissez
m_or_ren un facteur,p_class, avec les mêmes niveaux que ceux detest[["Class"]]. - Créez une matrice de confusion avec
confusionMatrix(), en passantp_classet la colonne"Class"de l'ensemble de donnéestest.
Exercice interactif pratique
Essayez cet exercice en complétant ce code d’exemple.
# If p exceeds threshold of 0.5, M else R: m_or_r
# Convert to factor: p_class
# Create confusion matrix