BaşlayınÜcretsiz başlayın

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

Kursa Göz Atın

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ı.
    • ntrees tur kullan.
    • eta değerini 0.75, max_depth değerini 5 yap ve verbose'u FALSE (sessiz) olarak ayarla.
  • Şimdi Ağustos ayında kiralanan bisiklet sayılarını tahmin etmek için bikesAugust.treat üzerinde predict() çağır.
    • vtreat uygulanmış test verisini matrise çevirmek için as.matrix() kullan.
    • Tahminleri bikesAugust'a pred sü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()
Kodu Düzenle ve Çalıştır