Zacznij terazZacznij za darmo

Dopasuj model do przewidywania liczby wypożyczeń rowerów

W tym ćwiczeniu zbudujesz model przewidujący liczbę rowerów wypożyczonych w ciągu godziny na podstawie warunków pogodowych, rodzaju dnia (święto, dzień roboczy lub weekend) oraz pory dnia. Model wytrenujesz na danych z lipca.

Ramka danych zawiera następujące kolumny:

  • cnt: liczba wypożyczonych rowerów w danej godzinie (zmienna objaśniana)
  • hr: godzina dnia (0–23, jako czynnik)
  • holiday: TRUE/FALSE
  • workingday: TRUE, jeśli dzień nie jest ani świętem, ani weekendem; w przeciwnym razie FALSE
  • weathersit: kategoria, "Clear to partly cloudy"/"Light Precipitation"/"Misty"
  • temp: znormalizowana temperatura w stopniach Celsjusza
  • atemp: znormalizowana temperatura odczuwalna w stopniach Celsjusza
  • hum: znormalizowana wilgotność
  • windspeed: znormalizowana prędkość wiatru
  • instant: indeks czasowy – liczba godzin od początku zbioru danych (nie jest zmienną)
  • mnth i yr: indeksy miesiąca i roku (nie są zmiennymi)

Pamiętaj, że przy użyciu glm() (dokumentacja) do dopasowania modelu licznikowego musisz podać family = poisson lub family = quasipoisson.

Ponieważ zmiennych wejściowych jest dużo, dla wygody zapiszemy zmienną objaśnianą i zmienne wejściowe w osobnych zmiennych, a następnie użyjemy funkcji paste() (dokumentacja) do złożenia łańcucha tekstowego reprezentującego formułę modelu.

Ramka danych bikesJuly jest dostępna do użycia. Nazwy zmiennej objaśnianej i zmiennych wejściowych zostały wczytane odpowiednio jako zmienne outcome i vars.

To ćwiczenie jest częścią kursu

Nadzorowane uczenie maszynowe w R: regresja

Zobacz kurs

Instrukcje do ćwiczenia

  • Uzupełnij brakujące elementy, aby utworzyć formułę fmla wyrażającą cnt jako funkcję zmiennych wejściowych. Wyświetl ją.
  • Oblicz średnią (mean()) i wariancję (var()) kolumny bikesJuly$cnt.
    • Czy powinieneś użyć regresji poisson, czy quasipoisson?
  • Użyj glm(), aby dopasować model do danych bikesJuly i zapisz go jako bike_model.
  • Użyj glance(), aby sprawdzić statystyki dopasowania modelu. Wynik działania glance() przypisz do zmiennej perf.
  • Oblicz pseudo-R-kwadrat modelu.

Interaktywne ćwiczenie praktyczne

Spróbuj tego ćwiczenia, uzupełniając ten przykładowy kod.

# bikesJuly is available
str(bikesJuly)

# The outcome column
outcome 

# The inputs to use
vars 

# Create the formula string for bikes rented as a function of the inputs
(fmla <- paste(___, "~", paste(___, collapse = " + ")))

# Calculate the mean and variance of the outcome
(mean_bikes <- ___)
(var_bikes <- ___)

# Fit the model
bike_model <- ___

# Call glance
(perf <- ___)

# Calculate pseudo-R-squared
(pseudoR2 <- ___)
Edytuj i uruchom kod