Bereken een confusion matrix
Zoals je in de video zag, is een confusion matrix een heel handig hulpmiddel om de output van een model te kalibreren en alle mogelijke uitkomsten van je voorspellingen te bekijken (true positive, true negative, false positive, false negative).
Voordat je je confusion matrix maakt, moet je de voorspelde kansen “afkappen” bij een bepaalde drempel om kansen om te zetten naar een factor met klassevoorspellingen. Combineer ifelse() met factor() als volgt:
pos_or_neg <- ifelse(probability_prediction > threshold, positive_class, negative_class)
p_class <- factor(pos_or_neg, levels = levels(test_values))
confusionMatrix() in caret is een verbetering op table() uit base R doordat het naast de basisaantallen in de tabel ook veel nuttige aanvullende statistieken toevoegt. Je kunt de confusion matrix (en de bijbehorende statistieken) berekenen met de voorspelde uitkomsten én de werkelijke uitkomsten, bijvoorbeeld:
confusionMatrix(p_class, test_values)
Deze oefening maakt deel uit van de cursus
Machine Learning met caret in R
Oefeninstructies
- Gebruik
ifelse()om een tekenreeks,m_or_r, te maken die de positieve klasse,"M", is wanneerpgroter is dan 0.5, en anders de negatieve klasse,"R". - Zet
m_or_rom naar een factor,p_class, met dezelfde niveaus alstest[["Class"]]. - Maak een confusion matrix met
confusionMatrix(), en geefp_classen de"Class"-kolom uit detest-gegevensset door.
Praktische interactieve oefening
Probeer deze oefening eens door deze voorbeeldcode in te vullen.
# If p exceeds threshold of 0.5, M else R: m_or_r
# Convert to factor: p_class
# Create confusion matrix