Một mô hình bagging phức tạp hơn
Sau khi đã khám phá dữ liệu bán dẫn, giờ hãy xây dựng một bộ phân loại bagging để dự đoán nhãn 'Pass/Fail' từ các đặc trưng đầu vào.
Bộ dữ liệu đã được tiền xử lý có sẵn trong workspace của bạn dưới tên uci_secom, và các tập huấn luyện/kiểm tra đã được tạo sẵn.
Vì biến mục tiêu có mất cân bằng lớp cao, hãy dùng logistic regression "balanced" làm bộ phân loại cơ sở ở đây.
Chúng ta cũng sẽ rút ngắn thời gian tính toán cho LogisticRegression bằng tham số solver='liblinear', là bộ tối ưu nhanh hơn so với mặc định.
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 một logistic regression để dùng làm bộ phân loại cơ sở với các tham số:
class_weight='balanced',solver='liblinear', vàrandom_state=42. - Xây dựng một bagging classifier sử dụng logistic regression làm base estimator, chỉ định số lượng đặc trưng tối đa là
10, và bật tính điểm out-of-bag. - In điểm out-of-bag để so sánh với độ chính xác.
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.
# 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))