max_depth ट्यून करना
इस अभ्यास में, आपका काम max_depth को ट्यून करना है, जो वह पैरामीटर है जो तय करता है कि बूस्टिंग राउंड में हर ट्री अधिकतम कितनी गहराई तक बढ़ सकता है. छोटे मान उथले ट्री देंगे, और बड़े मान गहरे ट्री बनाएँगे.
यह अभ्यास पाठ्यक्रम का हिस्सा है
XGBoost के साथ Extreme Gradient Boosting
अभ्यास निर्देश
max_depthsनाम की एक लिस्ट बनाएँ जिसमें ये"max_depth"मान हों:2,5,10, और20.forलूप का उपयोग करके अपनीmax_depthsलिस्ट पर इटरेट करें.forलूप के हर इटरेशन में व्यवस्थित रूप से"max_depth"बदलें और early stopping (5राउंड) के साथ 2-fold cross-validation चलाएँ,10boosting rounds रखें, metric"rmse"हो, औरseed123दें. सुनिश्चित करें कि आउटपुट एक DataFrame हो.
इंटरैक्टिव व्यावहारिक अभ्यास
इस अभ्यास को इस नमूना कोड को पूरा करके आज़माएँ।
# Create your housing DMatrix
housing_dmatrix = xgb.DMatrix(data=X,label=y)
# Create the parameter dictionary
params = {"objective":"reg:squarederror"}
# Create list of max_depth values
max_depths = ____
best_rmse = []
# Systematically vary the max_depth
for curr_val in ____:
params["____"] = ____
# Perform cross-validation
cv_results = ____
# Append the final round rmse to best_rmse
best_rmse.append(cv_results["test-rmse-mean"].tail().values[-1])
# Print the resultant DataFrame
print(pd.DataFrame(list(zip(max_depths, best_rmse)),columns=["max_depth","best_rmse"]))