Zacznij terazZacznij za darmo

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 gramach
  • humerus: 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

Zobacz kurs

Instrukcje do ćwiczenia

  • Zgodnie z sugestią z nagrania, przewidywania będą dotyczyć wartości TRUE i FALSE. Utwórz nową kolumnę survived w ramce danych sparrow, która przyjmuje wartość TRUE, gdy status == "Survived".
  • Utwórz formułę fmla wyrażającą survived jako 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. Wynik glance() przypisz do zmiennej perf.
  • 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 <- ___)
Edytuj i uruchom kod