Beräkna en förväxlingsmatris
Som du såg i videon är en förväxlingsmatris ett mycket användbart verktyg för att kalibrera modellens utdata och undersöka alla möjliga utfall av dina prediktioner (sant positivt, sant negativt, falskt positivt, falskt negativt).
Innan du skapar din förväxlingsmatris behöver du "skära" de predikterade sannolikheterna vid ett givet tröskelvärde för att omvandla sannolikheterna till en faktor med klassprediktioner. Kombinera ifelse() med factor() enligt följande:
pos_or_neg <- ifelse(probability_prediction > threshold, positive_class, negative_class)
p_class <- factor(pos_or_neg, levels = levels(test_values))
confusionMatrix() i caret förbättrar table() från bas-R genom att lägga till många användbara tilläggsstatistiker utöver grundfrekvenserna i tabellen. Du kan beräkna förväxlingsmatrisen (och tillhörande statistik) med hjälp av de predikterade utfallen samt de faktiska utfallen, t.ex.:
confusionMatrix(p_class, test_values)
Den här övningen är en del av kursen
Maskininlärning med caret i R
Övningsinstruktioner
- Använd
ifelse()för att skapa en teckenvektornm_or_rsom får den positiva klassen,"M", närpär större än 0,5, och den negativa klassen,"R", annars. - Konvertera
m_or_rtill en faktor,p_class, med samma nivåer somtest[["Class"]]. - Skapa en förväxlingsmatris med
confusionMatrix()och skicka inp_classsamt kolumnen"Class"från datamängdentest.
Interaktiv övning med praktiskt arbete
Testa den här övningen genom att slutföra den här exempelkoden.
# If p exceeds threshold of 0.5, M else R: m_or_r
# Convert to factor: p_class
# Create confusion matrix