Calcola una matrice di confusione
Come hai visto nel video, una matrice di confusione è uno strumento molto utile per calibrare l'output di un modello ed esaminare tutti i possibili esiti delle tue previsioni (vero positivo, vero negativo, falso positivo, falso negativo).
Prima di creare la matrice di confusione, devi "tagliare" le probabilità previste a una certa soglia per trasformarle in un fattore di classi previste. Combina ifelse() con factor() così:
pos_or_neg <- ifelse(probability_prediction > threshold, positive_class, negative_class)
p_class <- factor(pos_or_neg, levels = levels(test_values))
confusionMatrix() in caret migliora table() della base R aggiungendo molte utili statistiche accessorie oltre ai tassi di base nella tabella. Puoi calcolare la matrice di confusione (e le statistiche associate) usando sia gli esiti previsti sia quelli reali, ad esempio:
confusionMatrix(p_class, test_values)
Questo esercizio fa parte del corso
Machine Learning con caret in R
Istruzioni dell'esercizio
- Usa
ifelse()per creare un vettore di caratteri,m_or_r, che sia la classe positiva,"M", quandopè maggiore di 0.5, e la classe negativa,"R", altrimenti. - Converti
m_or_rin un fattore,p_class, con livelli uguali a quelli ditest[["Class"]]. - Crea una matrice di confusione con
confusionMatrix(), passandop_classe la colonna"Class"del datasettest.
Esercizio pratico interattivo
Prova a risolvere questo esercizio completando il codice di esempio.
# If p exceeds threshold of 0.5, M else R: m_or_r
# Convert to factor: p_class
# Create confusion matrix