Điều chỉnh mô hình
Một cách đơn giản để điều chỉnh mô hình random forest nhằm xử lý dữ liệu gian lận có độ mất cân bằng cao là dùng tùy chọn class_weights khi định nghĩa mô hình sklearn. Tuy nhiên, như bạn sẽ thấy, đây là cơ chế có phần thô và có thể không phù hợp với trường hợp rất đặc thù của bạn.
Trong bài tập này, bạn sẽ khám phá chế độ weight = "balanced_subsample" của mô hình Random Forest từ bài trước. Bạn đã chia dữ liệu thành tập huấn luyện và tập kiểm tra, tức là X_train, X_test, y_train, y_test đã sẵn sàng. Các hàm đánh giá (metrics) cũng đã được import.
Bài tập này là một phần của khóa học
Phát hiện gian lận với Python
Hướng dẫn bài tập
- Đặt tham số
class_weightcủa bộ phân loại thànhbalanced_subsample. - Huấn luyện (fit) mô hình trên tập huấn luyện.
- Lấy dự đoán và xác suất từ
X_test. - Tính
roc_auc_score, báo cáo phân loại (classification report) và ma trận nhầm lẫn (confusion matrix).
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.
# Define the model with balanced subsample
model = RandomForestClassifier(class_weight='____', random_state=5)
# Fit your training model to your training set
model.fit(____, ____)
# Obtain the predicted values and probabilities from the model
predicted = ____.____(____)
probs = ____.____(____)
# Print the roc_auc_score, the classification report and confusion matrix
print(____(____, ____))
print(____(____, ____))
print(____(____, ____))