ปรับน้ำหนักใน Voting Classifier
จากที่เห็นไปแล้วว่า Voting Classifier ช่วยเพิ่มประสิทธิภาพการตรวจจับการฉ้อโกงด้วยการรวมจุดแข็งของหลายโมเดลเข้าด้วยกัน คราวนี้มาลองปรับน้ำหนักที่กำหนดให้แต่ละโมเดลกันดูบ้าง การเพิ่มหรือลดน้ำหนักช่วยให้ควบคุมได้ว่าจะให้ความสำคัญกับโมเดลใดมากน้อยเพียงใดเมื่อเทียบกับโมเดลอื่น วิธีนี้มีประโยชน์มากเมื่อโมเดลหนึ่งมีประสิทธิภาพโดยรวมดีกว่าโมเดลอื่น แต่ยังต้องการนำจุดเด่นของโมเดลอื่นมาช่วยเสริมผลลัพธ์ให้ดียิ่งขึ้น
สำหรับแบบฝึกหัดนี้ ข้อมูลถูกแบ่งเป็นชุดฝึกและชุดทดสอบเรียบร้อยแล้ว และ clf1, clf2 กับ clf3 ถูกกำหนดไว้แล้วเหมือนเดิม ได้แก่ Logistic Regression, Random Forest และ Decision Tree ตามลำดับ
แบบฝึกหัดนี้เป็นส่วนหนึ่งของหลักสูตร
การตรวจจับการฉ้อโกงด้วย Python
คำแนะนำการฝึกหัด
- กำหนด ensemble method โดยให้น้ำหนักแก่ตัวจำแนก (clf2) ตัวที่สองมากกว่าตัวอื่นในอัตราส่วน 4 ต่อ 1
- ฝึกโมเดลด้วยชุดฝึกและชุดทดสอบ จากนั้นรับค่าการทำนาย
predictedจาก ensemble model - แสดงค่าเมตริกประสิทธิภาพ ซึ่งเตรียมไว้ให้รันได้เลย
แบบฝึกหัดเชิงโต้ตอบแบบลงมือทำ
ลองทำแบบฝึกหัดนี้โดยเติมโค้ดตัวอย่างนี้ให้สมบูรณ์
# Define the ensemble model
ensemble_model = ____(estimators=[('lr', clf1), ('rf', clf2), ('gnb', clf3)], voting='soft', weights=[____, ____, ____], flatten_transform=True)
# Get results
get_model_results(X_train, y_train, X_test, y_test, ensemble_model)