Začněte nyníZačněte zdarma

Binární předpověď

V předchozím cvičení jsi pomocí funkce glm() sestavil/a model logistické regrese pro chování dárců. Stejně jako u většiny metod strojového učení v R můžeš na objekt modelu aplikovat funkci predict() a předpovídat budoucí chování. Výchozí výstup funkce predict() jsou predikce v podobě logaritmických šancí (log odds), pokud nezadáš type = "response". Tato volba převede logaritmické šance na pravděpodobnosti.

Protože model logistické regrese odhaduje pravděpodobnost výsledku, je na tobě, abys určil/a práh, při kterém pravděpodobnost naznačuje konkrétní akci. Je nutné najít rovnováhu mezi přílišnou opatrností a přílišnou agresivitou. Kdybys například oslovil/a jen lidi s pravděpodobností daru 99 % a více, mohl/a bys přijít o mnoho lidí s nižší odhadovanou pravděpodobností, kteří by přesto darovali. Tato rovnováha je zvláště důležitá u silně nevyvážených výsledků – jako v tomto datasetu, kde jsou dary relativně vzácné.

Dataset donors a model donation_model máš k dispozici.

Toto cvičení je součástí kurzu

Supervised Learning v R: Klasifikace

Zobrazit kurz

Pokyny k cvičení

  • Pomocí funkce predict() odhadni pravděpodobnost daru pro každou osobu. Použij argument type pro získání pravděpodobností. Výsledné predikce ulož do nového sloupce donation_prob.
  • Zjisti skutečnou pravděpodobnost, že průměrná osoba přispěje, předáním příslušného sloupce datového rámce donors funkci mean().
  • Pomocí ifelse() předpověz dar v případě, že odhadovaná pravděpodobnost daru je vyšší než průměr. Výsledné predikce ulož do nového sloupce donation_pred.
  • Pomocí funkce mean() vypočítej přesnost modelu.

Interaktivní cvičení na vyzkoušení si v praxi

Vyzkoušejte si toto cvičení dokončením tohoto ukázkového kódu.

# 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(___ == ___)
Upravit a spustit kód