IniziaInizia gratis

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

Visualizza il corso

Istruzioni dell'esercizio

  • Usa ifelse() per creare un vettore di caratteri, m_or_r, che sia la classe positiva, "M", quando p è maggiore di 0.5, e la classe negativa, "R", altrimenti.
  • Converti m_or_r in un fattore, p_class, con livelli uguali a quelli di test[["Class"]].
  • Crea una matrice di confusione con confusionMatrix(), passando p_class e la colonna "Class" del dataset test.

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
Modifica ed esegui il codice