ประเมินประสิทธิภาพตัวจำแนกประเภทสำหรับการทำนายโรคเบาหวาน
ในบทนี้จะทำงานกับชุดข้อมูล diabetes_df ที่แนะนำไปก่อนหน้านี้
เป้าหมายคือการทำนายว่าแต่ละบุคคลมีแนวโน้มเป็นโรคเบาหวานหรือไม่ โดยอาศัยฟีเจอร์ดัชนีมวลกาย (BMI) และอายุ (หน่วยเป็นปี) ปัญหานี้จึงเป็น binary classification ค่าเป้าหมาย 0 หมายความว่าบุคคลนั้น ไม่ เป็นโรคเบาหวาน ส่วนค่า 1 หมายความว่าบุคคลนั้น เป็น โรคเบาหวาน
diabetes_df ถูกโหลดไว้ให้แล้วในรูปแบบ pandas DataFrame และแบ่งออกเป็น X_train, X_test, y_train และ y_test นอกจากนี้ยังมีการสร้าง KNeighborsClassifier() และกำหนดให้กับตัวแปร knn แล้ว
ให้ฝึกโมเดล ทำนาย label บนชุดทดสอบ จากนั้นสร้าง confusion matrix และ classification report
แบบฝึกหัดนี้เป็นส่วนหนึ่งของหลักสูตร
Supervised Learning ด้วย scikit-learn
คำแนะนำการฝึกหัด
- นำเข้า
confusion_matrixและclassification_report - ฝึกโมเดลด้วยข้อมูลชุดฝึก
- ทำนาย label ของชุดทดสอบ แล้วเก็บผลลัพธ์ไว้ในตัวแปร
y_pred - คำนวณและแสดง confusion matrix และ classification report โดยเปรียบเทียบ label จริงกับ label ที่ทำนายได้
แบบฝึกหัดเชิงโต้ตอบแบบลงมือทำ
ลองทำแบบฝึกหัดนี้โดยเติมโค้ดตัวอย่างนี้ให้สมบูรณ์
# Import confusion matrix
____
knn = KNeighborsClassifier(n_neighbors=6)
# Fit the model to the training data
____
# Predict the labels of the test data: y_pred
y_pred = ____
# Generate the confusion matrix and classification report
print(____(____, ____))
print(____(____, ____))