Khóa học
Nếu bạn muốn học khóa Machine Learning Toolbox của chúng tôi, đây là liên kết.
Tính ma trận nhầm lẫn
Như bạn đã thấy trong video, ma trận nhầm lẫn là công cụ rất hữu ích để hiệu chỉnh đầu ra của mô hình và xem xét tất cả các kết quả có thể 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 nhất định để chuyển xác suất thành dự đoán lớp. Bạn có thể làm điều này dễ dàng với hàm ifelse(), ví dụ:
class_prediction <-
ifelse(probability_prediction > 0.50,
"positive_class",
"negative_class"
)
Bạn có thể tạo một bảng chéo như vậy bằng hàm table() trong R cơ bản, nhưng confusionMatrix() trong caret cung cấp nhiều thống kê bổ 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 sử dụng các kết quả dự đoán cũng như kết quả thực tế, ví dụ:
confusionMatrix(predicted, actual)
Hướng dẫn
- Chuyển các dự đoán dạng số
pthành một vector dự đoán lớp gọi làp_class, dùng ngưỡng dự đoán 0,50. Khi tạo dự đoán, hãy đảm bảo dùng"M"cho lớp dương tính và"R"cho lớp âm tính để khớp với các lớp trong dữ liệu gốc. - Tạo một ma trận nhầm lẫn bằng cách sử dụng
p_class, các giá trị thực trong tậptest, và hàmconfusionMatrix().
Nếu bạn hiểu phần này, hãy tiếp tục sang bài tập tiếp theo! Nếu chưa, đây là video tổng quan.
Video tổng quan về Ma trận Nhầm lẫn
Từ xác suất đến ma trận nhầm lẫn
Ngược lại, giả sử bạn muốn thật chắc chắn rằng mô hình xác định đúng tất cả các mìn là mìn. Trong trường hợp này, bạn có thể dùng ngưỡng dự đoán 0,10 thay vì 0,90.
Bạn có thể xây dựng ma trận nhầm lẫn theo cách tương tự như trước đây, sử dụng các lớp dự đoán mới của mình:
pred <- ifelse(probability > threshold, "M", "R")
Sau đó, bạn có thể gọi hàm confusionMatrix() theo cách giống như trong bài tập trước:
confusionMatrix(pred, actual)
Nếu bạn muốn học thêm từ khóa học này, đây là liên kết.