Natrénuj model pravděpodobnosti přežití vrabce
V tomto cvičení odhadneš pravděpodobnost, že vrabec přežije silnou zimní bouři, a to na základě jeho fyzických charakteristik. Dataset sparrow je již načtený. Cílová proměnná je status ("Survived", "Perished"). Budeme pracovat s těmito proměnnými:
total_length: délka ptáka od špičky zobáku po špičku ocasu (mm)weight: hmotnost v gramechhumerus: délka kosti pažní (kost spojující křídlo s tělem) (palce)
Pamatuj, že při vytváření modelu logistické regrese pomocí glm() (dokumentace) je nutné explicitně nastavit family = binomial:
glm(formula, data = data, family = binomial)
Použiješ summary() a broom::glance(), abys prozkoumal/a model logistické regrese z různých úhlů. Jednou z diagnostických metrik je obdoba \(R^2\), tzv. pseudo-\(R^2\).
$$ pseudoR^2 = 1 - \frac{deviance}{null.deviance} $$
Deviance je obdoba rozptylu: měří variabilitu v kategoriálních datech. Pseudo-\(R^2\) pak odpovídá \(R^2\) u standardní regrese: \(R^2\) vyjadřuje podíl vysvětleného rozptylu modelu. Pseudo-\(R^2\) analogicky vyjadřuje podíl vysvětlené deviance.
Toto cvičení je součástí kurzu
Supervised Learning in R: Regression
Pokyny k cvičení
- Jak bylo ukázáno ve videu, budeme predikovat výstupy
TRUEaFALSE. Vytvoř nový sloupecsurvivedv datovém rámcisparrow, který bude mít hodnotu TRUE, pokud platístatus == "Survived". - Vytvoř vzorec
fmla, který vyjadřujesurvivedjako funkci proměnných, jež nás zajímají. Vypiš ho. - Natrénuj model logistické regrese pro predikci pravděpodobnosti přežití vrabce. Ulož model do proměnné
sparrow_model. - Zavolej
summary(), abys zobrazil/a koeficienty modelu, deviance a nulovou devianci. - Zavolej
glance()na model, abys získal/a deviance a další diagnostické hodnoty ve formě datového rámce. Výstup zglance()ulož do proměnnéperf. - Vypočítej pseudo-\(R^2\).
Interaktivní cvičení na vyzkoušení si v praxi
Vyzkoušejte si toto cvičení dokončením tohoto ukázkového kódu.
# sparrow is available
summary(sparrow)
# Create the survived column
sparrow$survived <- ___
# Create the formula
(fmla <- _____)
# Fit the logistic regression model
sparrow_model <- ___
# Call summary
___
# Call glance
(perf <- ___)
# Calculate pseudo-R-squared
(pseudoR2 <- ___)