Vượt ra ngoài mỗi độ chính xác
Trong bài tập này, để không chỉ dừng ở độ chính xác, bạn sẽ đánh giá AUC của đường cong ROC cho một mô hình cây quyết định cơ bản. Hãy nhớ rằng mốc so sánh cho một bộ phân loại ngẫu nhiên là AUC bằng 0.5, nên bạn cần đạt điểm cao hơn 0.5.
X là DataFrame chứa các đặc trưng và y là DataFrame chứa giá trị mục tiêu. Cả sklearn và pandas với bí danh pd đều có sẵn trong môi trường làm việc của bạn.
Chúng ta sẽ dùng thiết lập này để xem AUC của đường cong ROC.
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
- Chia dữ liệu thành tập huấn luyện và tập kiểm tra.
- Huấn luyện bộ phân loại trên dữ liệu huấn luyện, rồi tạo dự đoán cho dữ liệu kiểm tra bằng
predict_proba()vàpredict(). - Đánh giá AUC dưới đường cong ROC bằng hàm
roc_curve()trêny_testquaroc_curve(y_test, y_score[:, 1]).
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.
# Training and testing
X_train, X_test, y_train, y_test = \
____(X, y, test_size = .2, random_state = 0)
# Create decision tree classifier
clf = DecisionTreeClassifier()
# Train classifier - predict probability score and label
y_score = clf.fit(____, ____).predict_proba(____)
y_pred = clf.fit(____, ____).predict(____)
# Get ROC curve metrics
fpr, tpr, thresholds = ____(____, y_score[:, 1])
roc_auc = auc(fpr, tpr)
print(roc_auc)