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

โมเดลของเรา Underfit อยู่หรือเปล่า?

คุณกำลังสร้างโมเดล Random Forest เพื่อทำนายว่าจะชนะเกม Tic-Tac-Toe ในอนาคตหรือไม่ โดยใช้ชุดข้อมูล tic_tac_toe ซึ่งได้แบ่งข้อมูลออกเป็นชุดฝึก (X_train, y_train) และชุดทดสอบ (X_test, y_test) แล้ว

แผนคือสร้างโมเดล Random Forest หลายตัวที่มีจำนวนต้นไม้ต่างกัน ได้แก่ 1, 2, 3, 4, 5, 10, 20 และ 50 ต้น ยิ่งใช้ต้นไม้มากขึ้น โมเดลก็จะใช้เวลาประมวลผลนานขึ้น แต่ถ้าใช้น้อยเกินไปก็อาจเกิดปัญหา Underfitting ได้ จึงได้สร้าง for loop ขึ้นมาเพื่อทดสอบโมเดลที่จำนวนต้นไม้แต่ละระดับ

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

การตรวจสอบความถูกต้องของโมเดลใน Python

ดูคอร์ส

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

  • ในแต่ละรอบของ loop ให้ทำนายค่าสำหรับทั้งชุดข้อมูล X_train และ X_test
  • ในแต่ละรอบของ loop ให้ append ค่า accuracy_score() ของชุดข้อมูล y_train และค่าที่ทำนายที่สอดคล้องกันเข้าไปใน train_scores
  • ในแต่ละรอบของ loop ให้ append ค่า accuracy_score() ของชุดข้อมูล y_test และค่าที่ทำนายที่สอดคล้องกันเข้าไปใน test_scores
  • แสดงผลคะแนนชุดฝึกและชุดทดสอบโดยใช้คำสั่ง print ที่เตรียมไว้

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

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

from sklearn.metrics import accuracy_score

test_scores, train_scores = [], []
for i in [1, 2, 3, 4, 5, 10, 20, 50]:
    rfc = RandomForestClassifier(n_estimators=i, random_state=1111)
    rfc.fit(X_train, y_train)
    # Create predictions for the X_train and X_test datasets.
    train_predictions = rfc.predict(____)
    test_predictions = rfc.predict(____)
    # Append the accuracy score for the test and train predictions.
    train_scores.append(round(____(____, ____), 2))
    test_scores.append(round(____(____, ____), 2))
# Print the train and test scores.
print("The training scores were: {}".format(____))
print("The testing scores were: {}".format(____))
แก้ไขและรันโค้ด