Aan de slagGa gratis aan de slag

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

Cursus bekijken

Oefeninstructies

  • Gebruik ifelse() om een tekenreeks, m_or_r, te maken die de positieve klasse, "M", is wanneer p groter is dan 0.5, en anders de negatieve klasse, "R".
  • Zet m_or_r om naar een factor, p_class, met dezelfde niveaus als test[["Class"]].
  • Maak een confusion matrix met confusionMatrix(), en geef p_class en de "Class"-kolom uit de test-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
Code bewerken en uitvoeren