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

พยากรณ์การตายใน 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))
แก้ไขและรันโค้ด