Bir xgboost bisiklet kiralama modeli kur ve tahmin yap
Bu egzersizde, hava durumu ile günün türü ve saatine bağlı olarak bir saatte kiralanan bisiklet sayısını tahmin etmek için xgboost() kullanarak bir gradient boosting modeli kuracaksın. Modeli Temmuz ayı verileriyle eğitip Ağustos ayı verilerinde tahmin yapacaksın.
bikesJuly, bikesJuly.treat, bikesAugust ve bikesAugust.treat veri çerçeveleri de önceden yüklendi. Unutma, vtreat uygulanmış verilerde artık çıktı sütunu yok; bu yüzden onu orijinal veriden (yani cnt sütunundan) almalısın.
Kolaylık olması için, önceki egzersizden gelen ağaç sayısı ntrees değişkeni kullanılabilir.
xgboost()'un (docs) argümanları xgb.cv() ile benzerdir.
Bu egzersiz, kursun bir parçasıdır
R'de Supervised Learning: Regresyon
Egzersiz talimatları
- Boşlukları doldurarak Temmuz verileri üzerinde
xgboost()çalıştır.as.matrix()kullanarak vtreat uygulanmış veri çerçevesini matrise çevir.- Objective
"reg:squarederror"olmalı. ntreestur kullan.etadeğerini0.75,max_depthdeğerini5yap veverbose'uFALSE(sessiz) olarak ayarla.
- Şimdi Ağustos ayında kiralanan bisiklet sayılarını tahmin etmek için
bikesAugust.treatüzerindepredict()çağır.vtreatuygulanmış test verisini matrise çevirmek içinas.matrix()kullan.- Tahminleri
bikesAugust'apredsütunu olarak ekle.
- Gerçek bisiklet kiralama sayılarını tahminlerle karşılaştırmak için grafiği çizmek üzere boşlukları doldur (x ekseninde tahminler).
- Tahminlerde olası bir sorun görüyor musun?
Uygulamalı etkileşimli egzersiz
Bu egzersizi bu örnek kodu tamamlayarak deneyin.
# 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()