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

โมเดล Bagging ที่ซับซ้อนขึ้น

หลังจากสำรวจข้อมูลเซมิคอนดักเตอร์แล้ว ลองสร้าง Bagging Classifier เพื่อทำนายป้ายกำกับ 'Pass/Fail' จากฟีเจอร์ที่กำหนดให้

ชุดข้อมูลที่ผ่านการประมวลผลแล้วมีชื่อว่า uci_secom และได้เตรียมชุดข้อมูลสำหรับฝึกและทดสอบไว้ให้แล้ว

เนื่องจากคลาสเป้าหมายมีความไม่สมดุลสูง ให้ใช้ Logistic Regression แบบ "balanced" เป็น Base Estimator

นอกจากนี้จะใช้พารามิเตอร์ solver='liblinear' เพื่อลดเวลาในการคำนวณของ LogisticRegression ซึ่งเป็น Optimizer ที่เร็วกว่าค่าเริ่มต้น

แบบฝึกหัดนี้เป็นส่วนหนึ่งของหลักสูตร

Ensemble Methods ใน Python

ดูคอร์ส

คำแนะนำการฝึกหัด

  • สร้าง Logistic Regression เพื่อใช้เป็น Base Classifier โดยระบุพารามิเตอร์: class_weight='balanced', solver='liblinear' และ random_state=42
  • สร้าง Bagging Classifier โดยใช้ Logistic Regression เป็น Base Estimator กำหนดจำนวนฟีเจอร์สูงสุดเป็น 10 และเปิดใช้งานคะแนน Out-of-Bag
  • แสดงคะแนน Out-of-Bag เพื่อเปรียบเทียบกับค่าความแม่นยำ

แบบฝึกหัดเชิงโต้ตอบแบบลงมือทำ

ลองทำแบบฝึกหัดนี้โดยเติมโค้ดตัวอย่างนี้ให้สมบูรณ์

# Build a balanced logistic regression
clf_lr = ____

# Build and fit a bagging classifier
clf_bag = ____(____, ____, ____, random_state=500)
clf_bag.fit(X_train, y_train)

# Evaluate the accuracy on the test set and show the out-of-bag score
pred = clf_bag.predict(X_test)
print('Accuracy:  {:.2f}'.format(accuracy_score(y_test, pred)))
print('OOB-Score: {:.2f}'.format(____))

# Print the confusion matrix
print(confusion_matrix(y_test, pred))
แก้ไขและรันโค้ด