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
<Kurs>Maschinelles Lernen mit caret in R</Kurs>Übungsanweisungen
- 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 praktische Übung
Versuche dich an dieser Übung, indem du diesen Beispielcode vervollständigst.
# If p exceeds threshold of 0.5, M else R: m_or_r
# Convert to factor: p_class
# Create confusion matrix