xgboost बाइक रेंटल मॉडल फिट करें और प्रेडिक्ट करें
इस अभ्यास में, आप xgboost() का उपयोग करके एक gradient boosting मॉडल फिट करेंगे ताकि मौसम, प्रकार और दिन के समय के आधार पर प्रति घंटे किराए पर ली गई बाइकों की संख्या प्रेडिक्ट की जा सके। आप जुलाई महीने के डेटा पर मॉडल ट्रेन करेंगे और अगस्त महीने के डेटा पर प्रेडिक्ट करेंगे।
डेटा फ्रेम bikesJuly, bikesJuly.treat, bikesAugust, और bikesAugust.treat पहले से लोड हैं। ध्यान रखें कि vtreat-किए गए डेटा में अब outcome कॉलम नहीं होता, इसलिए आपको इसे ओरिजिनल डेटा से लेना होगा (cnt कॉलम)।
सुविधा के लिए, पिछले अभ्यास से उपयोग किए जाने वाले पेड़ों की संख्या ntrees उपलब्ध है।
xgboost() (docs) के आर्ग्युमेंट xgb.cv() के समान हैं.
यह अभ्यास पाठ्यक्रम का हिस्सा है
R में Supervised Learning: Regression
अभ्यास निर्देश
- खाली जगहें भरकर जुलाई के डेटा पर
xgboost()चलाएँ।as.matrix()का उपयोग करके vtreated data frame को matrix में बदलें।- objective
"reg:squarederror"होना चाहिए। ntreesराउंड्स का उपयोग करें।etaको0.75,max_depthको5, औरverboseकोFALSE(silent) सेट करें।
- अब
bikesAugust.treatपरpredict()कॉल करें ताकि अगस्त में किराए पर ली गई बाइकों की संख्या प्रेडिक्ट हो सके।as.matrix()का उपयोग करकेvtreat-किए गए टेस्ट डेटा को matrix में बदलें।- प्रेडिक्शंस को
bikesAugustमेंpredनाम के कॉलम के रूप में जोड़ें।
- वास्तविक बाइक रेंटल काउंट्स बनाम प्रेडिक्शंस को प्लॉट करने के लिए खाली जगहें भरें (x-axis पर प्रेडिक्शंस हों)।
- क्या आपको प्रेडिक्शंस में कोई संभावित समस्या दिख रही है?
इंटरैक्टिव व्यावहारिक अभ्यास
इस अभ्यास को इस नमूना कोड को पूरा करके आज़माएँ।
# 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()