ประเมินผลต้นไม้ที่เหมาะสมที่สุด
ในแบบฝึกหัดนี้ คุณจะประเมินคะแนน ROC AUC บนชุดทดสอบของโมเดลที่เหมาะสมที่สุดจาก grid_dt
ในการดำเนินการนี้ ให้เริ่มจากการหาความน่าจะเป็นในการได้ positive label สำหรับแต่ละตัวอย่างในชุดทดสอบ โดยใช้เมธอด predict_proba() ของ classifier ใน sklearn ซึ่งจะคืนค่าอาร์เรย์ 2 มิติที่ประกอบด้วยความน่าจะเป็นของ negative class และ positive class ตามลำดับในแต่ละคอลัมน์
ชุดข้อมูลถูกโหลดและเตรียมไว้ให้แล้ว (ฟีเจอร์ตัวเลขได้รับการ standardize แล้ว) โดยแบ่งเป็นชุด train 80% และชุดทดสอบ 20% ตัวแปร X_test และ y_test พร้อมใช้งานใน workspace นอกจากนี้ยังมี object GridSearchCV ที่ผ่านการ train แล้วชื่อ grid_dt ซึ่งคุณสร้างไว้ในแบบฝึกหัดก่อนหน้า โดย grid_dt ถูก train ด้วยโค้ดดังนี้:
grid_dt.fit(X_train, y_train)
แบบฝึกหัดนี้เป็นส่วนหนึ่งของหลักสูตร
Machine Learning with Tree-Based Models in Python
คำแนะนำการฝึกหัด
Import
roc_auc_scoreจากsklearn.metricsดึง attribute
.best_estimator_จากgrid_dtแล้วกำหนดให้กับตัวแปรbest_modelทำนายความน่าจะเป็นของ positive class บนชุดทดสอบ แล้วเก็บไว้ในตัวแปร
y_pred_probaคำนวณคะแนน ROC AUC บนชุดทดสอบของ
best_modelแล้วเก็บไว้ในตัวแปรtest_roc_auc
แบบฝึกหัดเชิงโต้ตอบแบบลงมือทำ
ลองทำแบบฝึกหัดนี้โดยเติมโค้ดตัวอย่างนี้ให้สมบูรณ์
# Import roc_auc_score from sklearn.metrics
____
# Extract the best estimator
best_model = ____
# Predict the test set probabilities of the positive class
y_pred_proba = ____
# Compute test_roc_auc
test_roc_auc = ____
# Print test_roc_auc
print('Test set ROC AUC score: {:.3f}'.format(test_roc_auc))