Ermittle eine Confusion Matrix
Wie du im Video gesehen hast, ist eine Confusion Matrix ein sehr nützliches Werkzeug, um die Ausgabe eines Modells zu kalibrieren und alle möglichen Ergebnisse deiner Vorhersagen zu betrachten (True Positive, True Negative, False Positive, False Negative).
Bevor du deine Confusion Matrix erstellst, musst du deine vorhergesagten Wahrscheinlichkeiten an einem gegebenen Schwellenwert „abschneiden“, um Wahrscheinlichkeiten in einen Faktor mit Klassenvorhersagen umzuwandeln. Kombiniere ifelse() mit factor() wie folgt:
pos_or_neg <- ifelse(probability_prediction > threshold, positive_class, negative_class)
p_class <- factor(pos_or_neg, levels = levels(test_values))
confusionMatrix() in caret erweitert table() aus Base R, indem es zusätzlich zu den Grundraten in der Tabelle viele nützliche Begleitstatistiken hinzufügt. Du kannst die Confusion Matrix (und die zugehörigen Statistiken) mithilfe der vorhergesagten Ergebnisse sowie der tatsächlichen Ergebnisse berechnen, z. B. so:
confusionMatrix(p_class, test_values)
Diese Übung ist Teil des Kurses
Maschinelles Lernen mit caret in R
Anleitung zur Übung
- Verwende
ifelse(), um einen Character-Vektorm_or_rzu erstellen, der die positive Klasse"M"enthält, wennpgrößer als 0.5 ist, und sonst die negative Klasse"R". - Wandle
m_or_rin einen Faktorp_classum, dessen Levels dieselben sind wie die vontest[["Class"]]. - Erstelle eine Confusion Matrix mit
confusionMatrix(), und übergibp_classsowie die Spalte"Class"aus demtest-Datensatz.
Interaktive Übung
Vervollständige den Beispielcode, um diese Übung erfolgreich abzuschließen.
# If p exceeds threshold of 0.5, M else R: m_or_r
# Convert to factor: p_class
# Create confusion matrix