Bắt đầu ngayBắt đầu miễn phí

Các chỉ số đánh giá cho mô hình RF

Ở các bài trước, bạn đã tính được độ chính xác (accuracy) cho mô hình random forest. Lần này, ta biết rằng accuracy có thể gây hiểu nhầm trong bài toán phát hiện gian lận. Với dữ liệu gian lận mất cân bằng cao, đường cong AUROC là chỉ số đánh giá tin cậy hơn để so sánh các bộ phân loại khác nhau. Bên cạnh đó, báo cáo phân loại (classification report) cho bạn biết độ chính xác (precision) và độ bao phủ (recall) của mô hình, trong khi ma trận nhầm lẫn (confusion matrix) cho thấy thực tế bạn dự đoán đúng được bao nhiêu trường hợp gian lận. Vậy hãy cùng tính các chỉ số này.

Bạn sẽ tiếp tục làm việc với cùng mô hình random forest từ bài trước. Mô hình của bạn, được định nghĩa là model = RandomForestClassifier(random_state=5), đã được fit với dữ liệu huấn luyện, và X_train, y_train, X_test, y_test đều đã sẵn sàng.

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

Xem khóa học

Hướng dẫn bài tập

  • Import classification report, confusion matrix và ROC score từ sklearn.metrics.
  • Lấy dự đoán nhị phân từ mô hình random forest model đã huấn luyện.
  • Lấy các xác suất dự đoán bằng cách gọi hàm predict_proba().
  • Tạo báo cáo phân loại và ma trận nhầm lẫn bằng cách so sánh y_test với predicted.

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.

# Import the packages to get the different performance metrics
from sklearn.metrics import ____, ____, ____

# Obtain the predictions from our random forest model 
predicted = model.____(X_test)

# Predict probabilities
probs = ____.____(X_test)

# Print the ROC curve, classification report and confusion matrix
print(____(y_test, probs[:,1]))
print(____(____, predicted))
print(____(____, ____))
Chỉnh sửa và Chạy Mã