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)
Bài tập này là một phần của khóa học
Machine Learning với caret trong R
Hướng dẫn bài tập
- Dùng
ifelse()để tạo một vector ký tự,m_or_r, là lớp dương,"M", khiplớ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_rthành một factor,p_class, với các mức giống như củatest[["Class"]]. - Tạo ma trận nhầm lẫn với
confusionMatrix(), truyền vàop_classvà cột"Class"từ dữ liệutest.
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.
# If p exceeds threshold of 0.5, M else R: m_or_r
# Convert to factor: p_class
# Create confusion matrix