Natrénuj model xgboost pro půjčovnu kol a proveď predikci
V tomto cvičení natrénuješ model gradient boosting pomocí funkce xgboost(), abys předpověděl/a počet vypůjčených kol za hodinu v závislosti na počasí, typu dne a denní době. Model natrénuješ na datech z července a predikci provedeš na datech z srpna.
Dataové rámce bikesJuly, bikesJuly.treat, bikesAugust a bikesAugust.treat jsou předem načteny. Nezapomeň, že data zpracovaná pomocí vtreat již neobsahují sloupec s výstupní proměnnou – ten musíš získat z původních dat (sloupec cnt).
Pro usnadnění práce je k dispozici také proměnná ntrees z předchozího cvičení, která udává počet stromů.
Argumenty funkce xgboost() (docs) jsou podobné jako u funkce xgb.cv().
Toto cvičení je součástí kurzu
Supervised Learning in R: Regression
Pokyny k cvičení
- Doplň chybějící části kódu a spusť funkci
xgboost()na červencových datech.- Pomocí
as.matrix()převeď datový rámec zpracovaný přesvtreatna matici. - Jako objective použij
"reg:squarederror". - Nastav počet rund na
ntrees. - Nastav
etana0.75,max_depthna5averbosenaFALSE(tichý režim).
- Pomocí
- Zavolej funkci
predict()nabikesAugust.treata předpověz počet půjčených kol v srpnu.- Pomocí
as.matrix()převeď testovací data zpracovaná přesvtreatna matici. - Přidej predikce do
bikesAugustjako sloupecpred.
- Pomocí
- Doplň chybějící části kódu a vykresli graf skutečných počtů půjčených kol oproti predikcím (predikce na ose x).
- Všimneš si nějakého možného problému s predikcemi?
Interaktivní cvičení na vyzkoušení si v praxi
Vyzkoušejte si toto cvičení dokončením tohoto ukázkového kódu.
# Run xgboost
bike_model_xgb <- xgboost(data = ___, # training data as matrix
label = ___, # column of outcomes
nrounds = ___, # number of trees to build
objective = ___, # objective
eta = ___,
max_depth = ___,
verbose = FALSE # silent
)
# Make predictions
bikesAugust$pred <- ___(___, ___(___))
# Plot predictions (on x axis) vs actual bike rental count
ggplot(bikesAugust, aes(x = ___, y = ___)) +
geom_point() +
geom_abline()