Dự đoán cái chết trong GoT
Mặc dù biến mục tiêu không có giá trị khuyết, các đặc trưng khác thì có. Vì khóa học này không tập trung vào làm sạch và tiền xử lý dữ liệu, chúng tôi đã thực hiện sẵn các bước sau:
- Thay thế các giá trị NA bằng
0. - Thay thế các giá trị âm của tuổi bằng
0. - Thay thế các giá trị NA của tuổi bằng giá trị trung bình.
Bây giờ, hãy xây dựng một mô hình ensemble sử dụng kỹ thuật averaging. Các mô hình riêng lẻ sau đã được xây dựng:
- Logistic Regression (
clf_lr). - Decision Tree (
clf_dt). - Support Vector Machine (
clf_svm).
Vì biến mục tiêu là nhị phân, tất cả các mô hình này có thể đạt hiệu suất riêng lẻ tốt.
Mục tiêu của bạn là kết hợp chúng bằng averaging. Hãy nhớ từ video rằng điều này tương đương với cách tiếp cận bỏ phiếu soft, nên bạn vẫn sẽ dùng VotingClassifier().
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
- Thiết lập danh sách các tuple
(string, estimator). Dùng'lr'choclf_lr,'dt'choclf_dt, và'svm'choclf_svm. - Xây dựng một averaging classifier tên là
clf_avg. Nhớ chỉ định đối số cho tham sốvoting.
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 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))