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

Decision trees ในฐานะ base learners

ถึงเวลาสร้างโมเดล XGBoost เพื่อพยากรณ์ราคาบ้านแล้ว โดยใช้ข้อมูลจากเมือง Ames รัฐ Iowa แทนที่จะเป็น Boston รัฐ Massachusetts อย่างที่เห็นในวิดีโอ ชุดข้อมูลราคาบ้านนี้ถูกโหลดไว้ล่วงหน้าใน DataFrame ชื่อ df หากลองสำรวจใน Shell จะพบว่ามีฟีเจอร์หลากหลายเกี่ยวกับตัวบ้านและทำเลที่ตั้งในเมือง

ในแบบฝึกหัดนี้ เป้าหมายคือการใช้ trees เป็น base learners โดย XGBoost ใช้ trees เป็นค่าเริ่มต้นอยู่แล้ว จึงไม่จำเป็นต้องระบุ booster="gbtree" เพิ่มเติม

xgboost ถูก import ไว้เป็น xgb และอาร์เรย์ของฟีเจอร์และ target พร้อมใช้งานใน X และ y ตามลำดับ

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

Extreme Gradient Boosting with XGBoost

ดูคอร์ส

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

  • แบ่ง df ออกเป็นชุด training และ testing โดยสำรองข้อมูลไว้ 20% สำหรับ testing และใช้ random_state เป็น 123
  • สร้าง XGBRegressor และกำหนดให้เป็น xg_reg โดยใช้ seed เป็น 123 ระบุ objective เป็น "reg:squarederror" และใช้ 10 trees หมายเหตุ: ไม่จำเป็นต้องระบุ booster="gbtree" เนื่องจากเป็นค่าเริ่มต้นอยู่แล้ว
  • Fit xg_reg กับข้อมูล training แล้วพยากรณ์ label ของชุด test บันทึกผลการพยากรณ์ไว้ในตัวแปรชื่อ preds
  • คำนวณ rmse โดยใช้ np.sqrt() และฟังก์ชัน mean_squared_error() จาก sklearn.metrics ซึ่ง import ไว้ให้แล้ว

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

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

# Create the training and test sets
X_train, X_test, y_train, y_test = ____(____, ____, ____=____, random_state=123)

# Instantiate the XGBRegressor: xg_reg
xg_reg = ____

# Fit the regressor to the training set
____

# Predict the labels of the test set: preds
preds = ____

# Compute the rmse: rmse
rmse = ____(____(____, ____))
print("RMSE: %f" % (rmse))
แก้ไขและรันโค้ด