Dopasuj model prawdopodobieństwa przeżycia wróbla
W tym ćwiczeniu oszacujesz prawdopodobieństwo, że wróbel przeżyje ciężką zimową burzę, na podstawie jego cech fizycznych. Zbiór danych sparrow został już wczytany. Zmienna docelowa to status ("Survived", "Perished"). Zmienne, które weźmiemy pod uwagę, to:
total_length: długość ptaka od czubka dzioba do końca ogona (mm)weight: masa ciała w gramachhumerus: długość kości ramiennej (kość łącząca skrzydło z tułowiem) (cale)
Pamiętaj, że podczas tworzenia modelu regresji logistycznej za pomocą glm() (dokumentacja) należy jawnie określić family = binomial:
glm(formula, data = data, family = binomial)
Wywołasz funkcje summary() oraz broom::glance(), aby zbadać dopasowany model regresji logistycznej na różne sposoby. Jedną z diagnostyk, którą sprawdzisz, jest odpowiednik \(R^2\) dla tego rodzaju modeli – pseudo-\(R^2\).
$$ pseudoR^2 = 1 - \frac{deviance}{null.deviance} $$
Dewiancję możesz traktować jako odpowiednik wariancji: mierzy ona zmienność w danych kategorycznych. Pseudo-\(R^2\) pełni analogiczną rolę do \(R^2\) w standardowej regresji – określa, jaką część dewiancji wyjaśnia model.
To ćwiczenie jest częścią kursu
Nadzorowane uczenie maszynowe w R: regresja
Instrukcje do ćwiczenia
- Zgodnie z sugestią z nagrania, przewidywania będą dotyczyć wartości
TRUEiFALSE. Utwórz nową kolumnęsurvivedw ramce danychsparrow, która przyjmuje wartość TRUE, gdystatus == "Survived". - Utwórz formułę
fmlawyrażającąsurvivedjako funkcję wybranych zmiennych. Wyświetl ją. - Dopasuj model regresji logistycznej do przewidywania prawdopodobieństwa przeżycia wróbla. Przypisz model do zmiennej
sparrow_model. - Wywołaj
summary(), aby zobaczyć współczynniki modelu, dewiancję oraz dewiancję zerową. - Wywołaj
glance()na modelu, aby uzyskać dewiancje i inne diagnostyki w postaci ramki danych. Wynikglance()przypisz do zmiennejperf. - Oblicz pseudo-\(R^2\).
Interaktywne ćwiczenie praktyczne
Spróbuj tego ćwiczenia, uzupełniając ten przykładowy kod.
# 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 <- ___)