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

การตัดแต่งต้นไม้ (Pruning)

Overfitting เป็นปัญหาคลาสสิกในงานวิเคราะห์ข้อมูล โดยเฉพาะกับอัลกอริทึม decision tree เมื่อต้นไม้เติบโตเต็มที่แล้ว อาจให้การทำนายที่แม่นยำมากบนชุดข้อมูล training แต่กลับทำได้ไม่ดีนักบนชุดข้อมูล test ด้วยเหตุนี้ การเติบโตของ decision tree จึงมักถูกควบคุมด้วย:

  • การ "ตัดแต่ง" ต้นไม้ (Pruning) โดยกำหนดขีดจำกัดความลึกสูงสุดที่ต้นไม้สามารถมีได้
  • การกำหนดจำนวนข้อมูลขั้นต่ำในแต่ละใบ (leaf) ของต้นไม้

ในแบบฝึกหัดนี้ คุณจะ:

  • ตัดแต่งต้นไม้และจำกัดการเติบโตให้มีความลึกไม่เกิน 5 ระดับ
  • fit โมเดลกับข้อมูลพนักงาน
  • ทดสอบผลการทำนายบนทั้งชุดข้อมูล training และ test

ตัวแปร features_train, target_train, features_test และ target_test ถูกโหลดไว้ใน workspace ของคุณเรียบร้อยแล้ว

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

HR Analytics: การพยากรณ์การลาออกของพนักงานด้วย Python

ดูคอร์ส

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

  • สร้าง DecisionTreeClassifier โดยกำหนดความลึกสูงสุดของต้นไม้ไว้ที่ 5
  • fit โมเดล Decision Tree โดยใช้ features และ target จากชุดข้อมูล training
  • ตรวจสอบความแม่นยำของการทำนายบนทั้งชุดข้อมูล training และ test

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

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

# Initialize the DecisionTreeClassifier while limiting the depth of the tree to 5
model_depth_5 = DecisionTreeClassifier(____=5, random_state=42)

# Fit the model
____.fit(features_train,target_train)

# Print the accuracy of the prediction for the training set
print(____.____(features_train,target_train)*100)

# Print the accuracy of the prediction for the test set
print(model_depth_5.score(____,____)*100)
แก้ไขและรันโค้ด