พยากรณ์การตายใน GoT
แม้ว่าตัวแปรเป้าหมายจะไม่มีค่าที่ขาดหายไป แต่ฟีเจอร์อื่น ๆ มีค่าขาดหายอยู่บ้าง เนื่องจากคอร์สนี้ไม่ได้เน้นเรื่องการทำความสะอาดและเตรียมข้อมูล เราจึงได้ดำเนินการ preprocessing ไว้ให้แล้วดังนี้
- แทนที่ค่า NA ด้วย
0 - แทนที่ค่าอายุที่ติดลบด้วย
0 - แทนที่ค่า NA ของอายุด้วยค่าเฉลี่ย
มาสร้าง ensemble model โดยใช้เทคนิค averaging กัน โดยโมเดลแต่ละตัวที่สร้างไว้แล้วมีดังนี้
- Logistic Regression (
clf_lr) - Decision Tree (
clf_dt) - Support Vector Machine (
clf_svm)
เนื่องจากตัวแปรเป้าหมายเป็น binary โมเดลเหล่านี้อาจให้ประสิทธิภาพที่ดีต่างกันไป เป้าหมายของคุณคือการนำโมเดลเหล่านี้มารวมกันด้วย averaging จากที่เรียนในวิดีโอ วิธีนี้เทียบเท่ากับการ voting แบบ soft ดังนั้นให้ใช้ VotingClassifier() ได้เลย
แบบฝึกหัดนี้เป็นส่วนหนึ่งของหลักสูตร
Ensemble Methods ใน Python
คำแนะนำการฝึกหัด
- กำหนดลิสต์ของทูเพิล
(string, estimator)โดยใช้'lr'สำหรับclf_lr,'dt'สำหรับclf_dtและ'svm'สำหรับclf_svm - สร้าง averaging classifier ชื่อ
clf_avgอย่าลืมระบุอาร์กิวเมนต์สำหรับพารามิเตอร์votingด้วย
แบบฝึกหัดเชิงโต้ตอบแบบลงมือทำ
ลองทำแบบฝึกหัดนี้โดยเติมโค้ดตัวอย่างนี้ให้สมบูรณ์
# Build the individual models
clf_lr = LogisticRegression(class_weight='balanced')
clf_dt = DecisionTreeClassifier(min_samples_leaf=3, min_samples_split=9, random_state=500)
clf_svm = SVC(probability=True, class_weight='balanced', random_state=500)
# List of (string, estimator) tuples
estimators = ____
# Build and fit an averaging classifier
clf_avg = ____
clf_avg.fit(X_train, y_train)
# Evaluate model performance
acc_avg = accuracy_score(y_test, clf_avg.predict(X_test))
print('Accuracy: {:.2f}'.format(acc_avg))