IniziaInizia gratis

Effettuare una previsione binaria

Nel precedente esercizio hai usato la funzione glm() per costruire un modello di regressione logistica del comportamento dei donatori. Come per molti metodi di Machine Learning in R, puoi applicare la funzione predict() all’oggetto modello per prevedere comportamenti futuri. Per impostazione predefinita, predict() restituisce previsioni in termini di log-odds a meno che non si specifichi type = "response". In questo modo i log-odds vengono convertiti in probabilità.

Poiché un modello di regressione logistica stima la probabilità dell’esito, spetta a te stabilire la soglia oltre la quale la probabilità implica un’azione. Occorre trovare un equilibrio tra l’essere troppo prudenti ed essere troppo aggressivi. Per esempio, se sollecitassi solo le persone con una probabilità di donazione pari o superiore al 99%, potresti perdere molte persone con probabilità stimate più basse che comunque sceglierebbero di donare. Questo bilanciamento è particolarmente importante quando gli esiti sono fortemente sbilanciati, come in questo insieme di dati in cui le donazioni sono relativamente rare.

L’insieme di dati donors e il modello donation_model sono a tua disposizione.

Questo esercizio fa parte del corso

Apprendimento supervisionato in R: Classificazione

Visualizza il corso

Istruzioni dell'esercizio

  • Usa la funzione predict() per stimare la probabilità di donazione di ciascuna persona. Usa l’argomento type per ottenere le probabilità. Assegna le previsioni a una nuova colonna chiamata donation_prob.
  • Trova la probabilità effettiva che una persona media doni passando la funzione mean() alla colonna appropriata del data frame donors.
  • Usa ifelse() per prevedere una donazione se la probabilità di donazione prevista è superiore alla media. Assegna le previsioni a una nuova colonna chiamata donation_pred.
  • Usa la funzione mean() per calcolare l’accuratezza del modello.

Esercizio pratico interattivo

Prova a risolvere questo esercizio completando il codice di esempio.

# Estimate the donation probability
donors$donation_prob <- predict(___, type = "___")

# Find the donation probability of the average prospect
mean(___)

# Predict a donation if probability of donation is greater than average (0.0504)
donors$donation_pred <- ifelse(___ > 0.0504, ___, ___)

# Calculate the model's accuracy
mean(___ == ___)
Modifica ed esegui il codice