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

โมเดล Gradient Boosting

คราวนี้เราจะฝึกโมเดล Gradient Boosting (GB) กัน มีคนเปรียบเอาไว้ว่าโมเดลเชิงเส้นเปรียบเหมือนรถยนต์ธรรมดา ส่วน GB เปรียบเหมือนเฮลิคอปเตอร์ทางทหาร GB มีศักยภาพสูงกว่า Random Forest แต่ก็ไม่ได้ดีกว่าเสมอไป ซึ่งเป็นไปตามหลักการที่เรียกว่า No Free Lunch Theorem นั่นคือเราควรลองใช้โมเดลหลายแบบสำหรับแต่ละปัญหาเสมอ

GB มีความคล้ายคลึงกับ Random Forest แต่ความแตกต่างสำคัญคือ tree แต่ละต้นถูกสร้างขึ้นแบบต่อเนื่อง โดยในแต่ละรอบ tree ถัดไปจะเรียนรู้จากค่าความผิดพลาด (residual errors) ของ tree ก่อนหน้า เพื่อให้โมเดลโดยรวมแม่นยำขึ้นเรื่อย ๆ

ในแบบฝึกหัดนี้ เราจะไม่ค้นหา hyperparameters เอง เพราะได้กำหนดค่าที่เหมาะสมไว้ให้แล้ว

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

Machine Learning สำหรับการเงินด้วย Python

ดูคอร์ส

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

  • สร้างออบเจกต์ GradientBoostingRegressor โดยใช้ hyperparameters ที่กำหนดไว้ให้แล้ว
  • ฝึกโมเดล gbr ด้วย train_features และ train_targets
  • พิมพ์ค่าคะแนนสำหรับ features และ targets ของชุดฝึกและชุดทดสอบ

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

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

from sklearn.ensemble import GradientBoostingRegressor

# Create GB model -- hyperparameters have already been searched for you
gbr = ____(max_features=4,
                                learning_rate=0.01,
                                n_estimators=200,
                                subsample=0.6,
                                random_state=42)
gbr.fit(____)

print(gbr.score(train_features, train_targets))
____
แก้ไขและรันโค้ด