Cursus
Als je onze Machine Learning Toolbox-cursus wilt volgen, hier is de link.
Een verwarringsmatrix berekenen
Zoals je in de video zag, is een verwarringsmatrix 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 verwarringsmatrix maakt, moet je je voorspelde waarschijnlijkheden bij een bepaalde drempel "afkappen" om waarschijnlijkheden om te zetten in klaspredicties. Dat kan eenvoudig met de functie ifelse(), bijv.:
class_prediction <-
ifelse(probability_prediction > 0.50,
"positive_class",
"negative_class"
)
Je zou zo’n kruistabel kunnen maken met de functie table() in base R, maar confusionMatrix() in caret levert naast de basisaantallen in de tabel ook veel nuttige aanvullende statistieken op. Je kunt de verwarringsmatrix (en de bijbehorende statistieken) berekenen op basis van de voorspelde uitkomsten en de werkelijke uitkomsten, bijv.:
confusionMatrix(predicted, actual)
Instructies
- Zet de numerieke voorspellingen
pom in een vector met klaspredicties genaamdp_class, met een predictiedrempel van 0,50. Zorg dat je"M"gebruikt voor de positieve klasse en"R"voor de negatieve klasse bij het maken van voorspellingen, zodat ze overeenkomen met de klassen in de oorspronkelijke data. - Maak een verwarringsmatrix met
p_class, de werkelijke waarden in detest-set en de functieconfusionMatrix().
Als dat duidelijk is, ga dan door naar de volgende oefening! Zo niet, bekijk dan deze overzichtsvideo.
Overzichtsvideo over de verwarringsmatrix
Van waarschijnlijkheden naar verwarringsmatrix
Omgekeerd: stel dat je er echt zeker van wilt zijn dat je model alle mijnen correct als mijnen identificeert. In dat geval kies je misschien een predictiedrempel van 0,10 in plaats van 0,90.
Je kunt de verwarringsmatrix op dezelfde manier samenstellen als eerder, met je nieuw voorspelde klassen:
pred <- ifelse(probability > threshold, "M", "R")
Vervolgens kun je de functie confusionMatrix() op dezelfde manier aanroepen als in de vorige oefening:
confusionMatrix(pred, actual)
Wil je meer leren uit deze cursus, hier is de link.
