ÎncepețiÎncepe gratuit

Realizarea unei predicții binare

În exercițiul anterior, ai folosit funcția glm() pentru a construi un model de regresie logistică al comportamentului donatorilor. Ca în cazul multor metode de învățare automată din R, poți aplica funcția predict() asupra obiectului model pentru a anticipa comportamentul viitor. Implicit, predict() returnează predicțiile sub formă de log-probabilități (log odds), dacă nu specifici type = "response". Această opțiune convertește log-probabilitățile în probabilități.

Deoarece un model de regresie logistică estimează probabilitatea unui rezultat, ție îți revine sarcina de a stabili pragul de la care probabilitatea implică o acțiune. Trebuie să găsești echilibrul între a fi prea prudent și a fi prea agresiv. De exemplu, dacă ai solicita doar persoanele cu o probabilitate de donație de 99% sau mai mare, ai putea rata multe persoane cu probabilități estimate mai mici, care totuși aleg să doneze. Acest echilibru este deosebit de important când rezultatele sunt puternic dezechilibrate – ca în acest set de date, unde donațiile sunt relativ rare.

Setul de date donors și modelul donation_model sunt disponibile pentru a fi utilizate.

Acest exercițiu face parte din cursul

Supervised Learning în R: Clasificare

Vezi cursul

Instrucțiuni pentru exercițiu

  • Folosește funcția predict() pentru a estima probabilitatea de donație a fiecărei persoane. Utilizează argumentul type pentru a obține probabilități. Atribuie predicțiile unei noi coloane numite donation_prob.
  • Determină probabilitatea reală că o persoană obișnuită ar dona, pasând funcției mean() coloana corespunzătoare din cadrul de date donors.
  • Folosește ifelse() pentru a prezice o donație dacă probabilitatea estimată de donație este mai mare decât media. Atribuie predicțiile unei noi coloane numite donation_pred.
  • Folosește funcția mean() pentru a calcula acuratețea modelului.

Exercițiu interactiv practic

Încearcă acest exercițiu completând acest cod de exemplu.

# 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(___ == ___)
Editează și rulează codul