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/FALSEworkingday: TRUE, jeśli dzień nie jest ani świętem, ani weekendem; w przeciwnym razie FALSEweathersit: kategoria, "Clear to partly cloudy"/"Light Precipitation"/"Misty"temp: znormalizowana temperatura w stopniach Celsjuszaatemp: znormalizowana temperatura odczuwalna w stopniach Celsjuszahum: znormalizowana wilgotnośćwindspeed: znormalizowana prędkość wiatruinstant: indeks czasowy – liczba godzin od początku zbioru danych (nie jest zmienną)mnthiyr: 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
Instrukcje do ćwiczenia
- Uzupełnij brakujące elementy, aby utworzyć formułę
fmlawyrażającącntjako funkcję zmiennych wejściowych. Wyświetl ją. - Oblicz średnią (
mean()) i wariancję (var()) kolumnybikesJuly$cnt.- Czy powinieneś użyć regresji poisson, czy quasipoisson?
- Użyj
glm(), aby dopasować model do danychbikesJulyi zapisz go jakobike_model. - Użyj
glance(), aby sprawdzić statystyki dopasowania modelu. Wynik działaniaglance()przypisz do zmiennejperf. - 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 <- ___)