Linear बेस लर्नर्स
अब जब आपने XGBoost में पेड़ों को base मॉडल के रूप में उपयोग किया है, तो आइए XGBoost के साथ इस्तेमाल होने वाले दूसरे प्रकार के base मॉडल — एक linear learner — को आज़माएँ। यह मॉडल XGBoost में उतना आम नहीं है, लेकिन यह XGBoost की शक्तिशाली लर्निंग API का उपयोग करके एक regularized linear regression बनाने देता है। हालाँकि, क्योंकि यह कम प्रचलित है, आपको मॉडल बनाने के लिए scikit-learn संगत फ़ंक्शंस की बजाय XGBoost के अपने फ़ंक्शंस, जैसे xgb.train(), का उपयोग करना होगा।
इसे करने के लिए, आपको एक पैरामीटर डिक्शनरी बनानी होगी जो बताती है कि आप किस प्रकार का booster (base मॉडल) उपयोग करना चाहते हैं (ठीक वैसे ही जैसे आपने Chapter 1 में डिक्शनरी बनाई थी जब आपने xgb.cv() उपयोग किया था)। जिस key-value पेयर से booster प्रकार (base मॉडल) परिभाषित होता है, वह है "booster":"gblinear".
एक बार मॉडल बन जाने पर, आप इसकी .train() और .predict() मेथड्स का उपयोग वैसा ही कर सकते हैं जैसा आपने पहले किया है।
यहाँ डेटा पहले से training और testing सेट में बाँटा हुआ है, इसलिए आप सीधे XGBoost लर्निंग API के लिए आवश्यक DMatrix ऑब्जेक्ट्स बनाने में लग सकते हैं.
यह अभ्यास पाठ्यक्रम का हिस्सा है
XGBoost के साथ Extreme Gradient Boosting
अभ्यास निर्देश
- दो
DMatrixऑब्जेक्ट्स बनाएँ — training सेट (X_trainऔरy_train) के लिएDM_train, और test सेट (X_testऔरy_test) के लिएDM_test. - एक पैरामीटर डिक्शनरी बनाएँ जो आपके उपयोग किए जाने वाले
"booster"प्रकार ("gblinear") और वह"objective"जिसे आप minimize करेंगे ("reg:squarederror"), को परिभाषित करे। xgb.train()का उपयोग करके मॉडल ट्रेन करें। आपको इन पैरामीटर्स के लिए आर्ग्युमेंट देने होंगे:params,dtrain, औरnum_boost_round. Boosting राउंड्स के लिए5का उपयोग करें।xg_reg.predict()का उपयोग करके test सेट पर लेबल्स प्रेडिक्ट करें, और उसेDM_testपास करें। परिणामpredsमें असाइन करें।- RMSE देखने के लिए 'उत्तर सबमिट करें' दबाएँ!
इंटरैक्टिव व्यावहारिक अभ्यास
इस अभ्यास को इस नमूना कोड को पूरा करके आज़माएँ।
# Convert the training and testing sets into DMatrixes: DM_train, DM_test
DM_train = ____
DM_test = ____
# Create the parameter dictionary: params
params = {"____":"____", "____":"____"}
# Train the model: xg_reg
xg_reg = ____.____(____ = ____, ____=____, ____=____)
# Predict the labels of the test set: preds
preds = ____
# Compute and print the RMSE
rmse = np.sqrt(mean_squared_error(y_test,preds))
print("RMSE: %f" % (rmse))