Bắt đầu ngayBắt đầu miễn phí

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

Xem khóa học

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", 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.

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
Chỉnh sửa và Chạy Mã