Nấm: chuyện sống còn
Hãy kết thúc khóa học bằng cách quay lại bài toán xác định nấm ăn được. Bạn sẽ thử bộ phân loại stacking để xem điểm số có thể được cải thiện không. Vì stacking dùng một meta-estimator (bộ phân loại tầng thứ hai) để cố gắng hiệu chỉnh dự đoán từ tầng đầu tiên, một số trường hợp bị phân loại sai có thể được sửa. Đây là một vấn đề rất quan trọng, vì tính ăn được của nấm liên quan trực tiếp đến sống còn.
Bộ dữ liệu đã được nạp và chia thành tập huấn luyện và kiểm tra. Bạn có nghĩ stacking có thể giúp dự đoán tính ăn được của nấm với độ tin cậy cao hơn không?
Bài tập này là một phần của khóa học
Ensemble Methods in Python
Hướng dẫn bài tập
- Khởi tạo các bộ ước lượng tầng đầu tiên: mô hình k-láng giềng gần nhất với
k=5dùng thuật toán ball tree, bộ phân loại cây quyết định với các tham sốmin_samples_leaf = 5vàmin_samples_split = 15, và bộ phân loại Gaussian Naive Bayes. - Xây dựng và fit một bộ phân loại stacking, sử dụng các tham số
classifiers- danh sách chứa các bộ phân loại tầng đầu tiên - vàmeta_classifier- logistic regression mặc định.
Bài tập tương tác thực hành trực tiếp
Hãy thử làm bài tập này bằng cách hoàn thành đoạn mã mẫu này.
# Create the first-layer models
clf_knn = ____
clf_dt = ____(____, ____, random_state=500)
clf_nb = ____
# Create the second-layer model (meta-model)
clf_lr = LogisticRegression()
# Create and fit the stacked model
clf_stack = ____
clf_stack.fit(X_train, y_train)
# Evaluate the stacked model’s performance
print("Accuracy: {:0.4f}".format(accuracy_score(y_test, clf_stack.predict(X_test))))