ลองใช้ mlxtend เป็นครั้งแรก
ถึงเวลาเริ่มต้นใช้งาน mlxtend แล้ว! เราจะทำงานกับชุดข้อมูลคะแนนแอปต่อไป เนื่องจากได้สร้างโมเดล stacked ensemble ด้วย scikit-learn ไปแล้ว จึงมีเกณฑ์สำหรับเปรียบเทียบกับโมเดลที่จะสร้างด้วย mlxtend ในครั้งนี้
ชุดข้อมูลถูกโหลดและพร้อมใช้งานในชื่อตัวแปร apps
มาดูกันว่า mlxtend จะสร้างโมเดลที่ดีเทียบเท่าหรือดีกว่า ensemble classifier ของ scikit-learn ได้หรือไม่
แบบฝึกหัดนี้เป็นส่วนหนึ่งของหลักสูตร
Ensemble Methods ใน Python
คำแนะนำการฝึกหัด
- สร้าง decision tree classifier โดยกำหนด
min_samples_leaf = 3และmin_samples_split = 9 - สร้าง k-nearest neighbors classifier แบบ 5 เพื่อนบ้านโดยใช้อัลกอริทึม
'ball_tree' - สร้าง
StackingClassifierโดยส่งพารามิเตอร์ดังนี้: รายการ classifiers, meta classifier,use_probas=True(เพื่อใช้ค่าความน่าจะเป็น) และuse_features_in_secondary = False(เพื่อใช้เฉพาะผลการทำนายของโมเดลแต่ละตัว) - ประเมินประสิทธิภาพโดยคำนวณค่า accuracy score
แบบฝึกหัดเชิงโต้ตอบแบบลงมือทำ
ลองทำแบบฝึกหัดนี้โดยเติมโค้ดตัวอย่างนี้ให้สมบูรณ์
# Instantiate the first-layer classifiers
clf_dt = ____(____, ____, random_state=500)
clf_knn = ____
# Instantiate the second-layer meta classifier
clf_meta = LogisticRegression()
# Build the Stacking classifier
clf_stack = ____
clf_stack.____
# Evaluate the performance of the Stacking classifier
pred_stack = ____
print("Accuracy: {:0.4f}".format(accuracy_score(y_test, pred_stack)))