Regularization
Regularization là quá trình bổ sung thông tin vào mô hình để ngăn overfitting. Điều này quan trọng để cải thiện các chỉ số đánh giá bạn đã thấy ở đầu chương. Trong bài tập này, bạn sẽ thay đổi tham số độ sâu tối đa của cây quyết định để xem kết quả phân loại bị ảnh hưởng như thế nào.
X_train, y_train, X_test, y_test đã có sẵn trong không gian làm việc của bạn. pandas là pd, numpy là np, và sklearn cũng có sẵn. Ngoài ra, confusion_matrix(), precision_score(), và recall_score() từ sklearn.metrics cũng có sẵn.
Bài tập này là một phần của khóa học
Dự đoán CTR với Machine Learning trong Python
Hướng dẫn bài tập
- Tạo các cây quyết định khác nhau bằng cách thay đổi độ sâu tối đa của mỗi cây.
- Với mỗi cây, fit và tạo dự đoán trên dữ liệu kiểm tra.
- Đánh giá ma trận nhầm lẫn (confusion matrix), precision và recall cho mỗi cây.
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.
# Iterate over different levels of max depth
for max_depth_val in [2, 3, 5, 10, 15, 20]:
# Create and fit model
clf = ____(____ = max_depth_val)
print("Evaluating tree with max_depth = %s" %(max_depth_val))
y_pred = clf.fit(____, ____).predict(____)
# Evaluate confusion matrix, precision, recall
print("Confusion matrix: ")
print(____(y_test, y_pred))
prec = ____(____, ____, average = 'weighted')
recall = ____(____, ____, average = 'weighted')
print("Precision: %s, Recall: %s" %(prec, recall))