Phân tích chi phí thực tế
Bạn sẽ tiếp tục làm việc với bộ dữ liệu tín dụng trong bài tập này. Hãy nhớ rằng "dương" trong bộ dữ liệu này nghĩa là "tín dụng xấu", tức khách hàng đã vỡ nợ khoản vay; còn "âm" là khách hàng tiếp tục trả đúng hạn. Quản lý ngân hàng cho biết ngân hàng trung bình lãi 10K từ mỗi khách hàng "rủi ro tốt", nhưng mất 150K với mỗi khách hàng "rủi ro xấu". Thuật toán của bạn sẽ dùng để sàng lọc hồ sơ: những người bị gán nhãn "âm" sẽ được cho vay, còn nhãn "dương" sẽ bị từ chối. Tổng chi phí của bộ phân loại của bạn là bao nhiêu? Dữ liệu có sẵn dưới dạng X_train, X_test, y_train và y_test. Các hàm confusion_matrix(), f1_score(), precision_score() và RandomForestClassifier() đã được cung cấp.
Bài tập này là một phần của khóa học
Thiết kế quy trình Machine Learning bằng Python
Hướng dẫn bài tập
- Huấn luyện một bộ phân loại random forest trên dữ liệu huấn luyện.
- Dùng mô hình để gán nhãn cho dữ liệu kiểm tra.
- Trích xuất số lượng âm giả (false negatives) và dương giả (false positives) từ
confusion_matrix(). Bạn sẽ cần làm phẳng ma trận. - Phân loại sai một khách hàng "tốt" thành "xấu" nghĩa là ngân hàng bỏ lỡ cơ hội lãi 10K. Phân loại sai một khách hàng "xấu" thành "tốt" nghĩa là ngân hàng sẽ mất 150K do khách hàng vỡ nợ.
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.
# Fit a random forest classifier to the training data
clf = ____(random_state=2).fit(____, ____)
# Label the test data
preds = clf.____(____)
# Get false positives/negatives from the confusion matrix
tn, ____, ____, tp = confusion_matrix(y_test, preds).____()
# Now compute the cost using the manager's advice
cost = fp*____ + fn*____