เริ่มต้นใช้งานเริ่มต้นใช้งานได้ฟรี

Cross-validate โมเดล XGBoost

ในแบบฝึกหัดนี้ จะก้าวไปอีกขั้นด้วยการใช้ pipeline ที่สร้างขึ้นเพื่อประมวลผลข้อมูลเบื้องต้น และ cross-validate โมเดลไปพร้อมกัน

แบบฝึกหัดนี้เป็นส่วนหนึ่งของหลักสูตร

Extreme Gradient Boosting with XGBoost

ดูคอร์ส

คำแนะนำการฝึกหัด

  • สร้าง pipeline ชื่อ xgb_pipeline โดยใช้ steps
  • ทำ cross-validation แบบ 10-fold โดยใช้ cross_val_score() โดยต้องส่งอาร์กิวเมนต์ได้แก่ pipeline, X (ในรูปแบบ dictionary โดยใช้ .to_dict("records")), y, จำนวน fold ที่ต้องการ และ scoring ("neg_mean_squared_error")
  • แสดงค่า RMSE แบบ 10-fold

แบบฝึกหัดเชิงโต้ตอบแบบลงมือทำ

ลองทำแบบฝึกหัดนี้โดยเติมโค้ดตัวอย่างนี้ให้สมบูรณ์

# Import necessary modules
from sklearn.feature_extraction import DictVectorizer
from sklearn.pipeline import Pipeline
from sklearn.model_selection import cross_val_score

# Fill LotFrontage missing values with 0
X.LotFrontage = ____

# Setup the pipeline steps: steps
steps = [("ohe_onestep", DictVectorizer(sparse=False)),
         ("xgb_model", xgb.XGBRegressor(max_depth=2, objective="reg:squarederror"))]

# Create the pipeline: xgb_pipeline
xgb_pipeline = ____

# Cross-validate the model
cross_val_scores = ____

# Print the 10-fold RMSE
print("10-fold RMSE: ", np.mean(np.sqrt(np.abs(____))))
แก้ไขและรันโค้ด