1. Học hỏi
  2. /
  3. Khoa Học
  4. /
  5. Machine Learning với caret trong R

Connected

Bài tập

Tùy chỉnh trainControl

Như bạn đã thấy trong video, diện tích dưới đường cong ROC (AUC) là một con số tóm tắt rất hữu ích về khả năng của mô hình trong việc phân biệt giữa lớp dương và lớp âm (ví dụ: mìn và đá). AUC bằng 0.5 không tốt hơn đoán ngẫu nhiên, AUC bằng 1.0 là mô hình dự đoán hoàn hảo, còn AUC bằng 0.0 là mô hình phản dự đoán hoàn hảo (hiếm khi xảy ra).

Chỉ số này thường hữu ích hơn nhiều so với việc chỉ xếp hạng mô hình theo độ chính xác tại một ngưỡng cố định, vì các mô hình khác nhau có thể cần các bước hiệu chỉnh khác nhau (xem ma trận nhầm lẫn ở mỗi bước) để tìm ngưỡng phân loại tối ưu cho từng mô hình.

Bạn có thể dùng hàm trainControl() trong caret để dùng AUC (thay vì accuracy) nhằm tinh chỉnh (tune) các tham số của mô hình. Hàm tiện ích twoClassSummary() giúp bạn làm việc này dễ dàng.

Khi dùng twoClassSummary(), hãy luôn thêm đối số classProbs = TRUE, nếu không mô hình sẽ báo lỗi! (Bạn không thể tính AUC chỉ với dự đoán nhãn lớp. Bạn cần cả xác suất thuộc lớp.)

Hướng dẫn

100 XP
  • Tùy chỉnh đối tượng trainControl để dùng twoClassSummary thay cho defaultSummary.
  • Dùng cross-validation 10-fold.
  • Nhớ báo cho trainControl() trả về xác suất lớp.