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

ทดลองใช้ค่า max depth ที่แตกต่างกัน

เราควรปรับแต่งโมเดล machine learning อยู่เสมอเพื่อให้ได้การพยากรณ์ที่แม่นยำที่สุด วิธีหนึ่งคือการปรับ hyperparameter ซึ่งเป็นค่าตั้งต้นของโมเดล ในบทต่อ ๆ ไปเราจะเจาะลึกเรื่องนี้มากขึ้น แต่สำหรับตอนนี้ให้นึกภาพว่า hyperparameter คือปุ่มปรับที่ช่วยให้ผลการพยากรณ์ดีที่สุดเท่าที่จะทำได้

สำหรับ decision tree ทั่วไป hyperparameter ที่สำคัญที่สุดน่าจะเป็น max_depth ซึ่งกำหนดจำนวนการแบ่งสูงสุดในต้นไม้การตัดสินใจ มาหาค่า max_depth ที่ดีที่สุดโดยดูจากค่า R\(^2\) ของโมเดลบนชุดข้อมูลทดสอบ ซึ่งได้จากเมธอด score() ของโมเดล decision tree ของเรา

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

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

ดูคอร์ส

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

  • วนลูปผ่านค่า 3, 5 และ 10 เพื่อใช้เป็นพารามิเตอร์ max_depth ในโมเดล decision tree
  • กำหนดพารามิเตอร์ max_depth ใน DecisionTreeRegressor ให้เท่ากับ d ในแต่ละรอบของลูป
  • แสดงผลค่า score ของโมเดลบน train_features และ train_targets

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

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

# Loop through a few different max depths and check the performance
for d in [____]:
    # Create the tree and fit it
    decision_tree = DecisionTreeRegressor(____)
    decision_tree.fit(train_features, train_targets)

    # Print out the scores on train and test
    print('max_depth=', str(d))
    print(decision_tree.score(____))
    print(decision_tree.score(test_features, test_targets), '\n')
แก้ไขและรันโค้ด