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ính ma trận nhầm lẫn

Như bạn đã thấy trong video, ma trận nhầm lẫn là một công cụ rất hữu ích để hiệu chỉnh đầu ra của mô hình và xem xét mọi khả năng của dự đoán (dương tính thật, âm tính thật, dương tính giả, âm tính giả).

Trước khi tạo ma trận nhầm lẫn, bạn cần “cắt” các xác suất dự đoán tại một ngưỡng cho trước để biến xác suất thành factor của nhãn dự đoán. Kết hợp ifelse() với factor() như sau:

pos_or_neg <- ifelse(probability_prediction > threshold, positive_class, negative_class)
p_class <- factor(pos_or_neg, levels = levels(test_values))

confusionMatrix() trong caret cải tiến so với table() của base R bằng cách bổ sung nhiều thống kê phụ trợ hữu ích ngoài các tần suất cơ bản trong bảng. Bạn có thể tính ma trận nhầm lẫn (và các thống kê liên quan) bằng cách dùng nhãn dự đoán cũng như nhãn thực tế, ví dụ:

confusionMatrix(p_class, test_values)

Hướng dẫn

100 XP
  • Dùng ifelse() để tạo một vector ký tự, m_or_r, là lớp dương, "M", khi p lớn hơn 0.5, và lớp âm, "R", trong các trường hợp còn lại.
  • Chuyển m_or_r thành một factor, p_class, với các mức giống như của test[["Class"]].
  • Tạo ma trận nhầm lẫn với confusionMatrix(), truyền vào p_class và cột "Class" từ dữ liệu test.