Ma trận nhầm lẫn cho mã python phân loại nhiều lớp
Bộ dữ liệu Iris - Bộ dữ liệu mống mắt nổi tiếng (của Fisher hoặc Anderson) này cung cấp các phép đo tính bằng cm của các biến chiều dài và chiều rộng của đài hoa cũng như chiều dài và chiều rộng của cánh hoa, tương ứng, cho 50 bông hoa từ mỗi loài trong số 3 loài hoa diên vĩ. Các loài là Iris setosa, versicolor, và virginica Show
Tiếp theo, chúng ta sẽ tính các giá trị TP, TN, FP và FN cho các loài đa sắc màu. Cuối cùng, chúng tôi sẽ tính các giá trị TP, TN, FP và FN cho các loài virginica. Đây là cách chúng ta có thể nhận được các giá trị TP, TN, FP và FN cho mỗi lớp. Sau đó, bạn có thể tính toán các giá trị Chính xác và Thu hồi cho các lớp này để kiểm tra hiệu suất của mô hình phân loại của bạn Để hiểu số liệu nào là số liệu lý tưởng cho mô hình phân loại của bạn, bạn có thể xem qua hướng dẫn sau – Tính toán ma trận nhầm lẫn nhiều nhãn theo lớp (mặc định) hoặc theo mẫu (samplewise=True) để đánh giá độ chính xác của phân loại và xuất ma trận nhầm lẫn cho từng lớp hoặc mẫu Trong ma trận nhầm lẫn nhiều nhãn \(MCM\) , số lượng âm tính thực sự là \( . ,0,0}\) , phủ định sai là \(MCM_{. ,1,0}\) , giá trị tích cực thực sự là \(MCM_{. ,1,1}\) và kết quả dương tính giả là \(MCM_{. ,0,1}\) . Dữ liệu nhiều lớp sẽ được xử lý như thể được nhị phân hóa theo phép chuyển đổi một so với phần còn lại. Các ma trận nhầm lẫn được trả về sẽ theo thứ tự các nhãn duy nhất được sắp xếp trong liên kết của (y_true, y_pred) Đọc thêm trong Thông số . y_true {dạng mảng, ma trận thưa thớt} có dạng (n_samples, n_outputs) hoặc (n_samples,)Giá trị mục tiêu chân lý (chính xác) y_pred {dạng mảng, ma trận thưa thớt} có dạng (n_samples, n_outputs) hoặc (n_samples,)Các mục tiêu ước tính được trả về bởi một bộ phân loại sample_weight hình dạng giống như mảng (n_samples,), default=Nonetrọng lượng mẫu nhãn hình dạng giống như mảng (n_classes,), default=NoneDanh sách các lớp hoặc chỉ mục cột để chọn một số (hoặc buộc đưa vào các lớp không có trong dữ liệu) samplewise bool, mặc định=SaiTrong trường hợp nhiều nhãn, điều này sẽ tính toán ma trận nhầm lẫn trên mỗi mẫu Trả về . multi_confusion ndarray của hình dạng (n_outputs, 2, 2)Ma trận nhầm lẫn 2x2 tương ứng với từng đầu ra trong đầu vào. Khi tính toán multi_confusion theo lớp (mặc định), thì n_outputs = n_labels; . Nếu Xem thêm Tính toán ma trận nhầm lẫn để đánh giá độ chính xác của bộ phân loại ghi chú
Trong bài đăng này, tôi giải thích cách ai đó có thể đọc ma trận nhầm lẫn và cách trích xuất các giá trị FP, FN, TP, TN, TPR, TNR, FPR, FNR & Độ chính xác của vấn đề phân loại nhiều lớp từ ma trận nhầm lẫnTrong một trong những bài đăng trước đây của tôi, “ROC Curve đã giải thích bằng ví dụ giả định về COVID-19. Hướng dẫn phân loại nhị phân & đa lớp”, tôi đã giải thích rõ ràng đường cong ROC là gì và cách nó được kết nối với Ma trận nhầm lẫn nổi tiếng. Nếu bạn không quen thuộc với thuật ngữ Ma trận nhầm lẫn và Tích cực thực sự, Tiêu cực thực sự, v.v. , tham khảo bài viết trên và tìm hiểu mọi thứ trong 6 phút hoặc tiếp tục đọc bản tóm tắt nhanh trong 2 phút Tóm tắt 2 phút. TP, TN, FP, FN nghĩa là gì Hãy tưởng tượng rằng chúng tôi có một bài kiểm tra có thể cho chúng tôi biết liệu một cá nhân có bị ảnh hưởng bởi vi-rút hay không trong vòng vài giây. Vì vậy, đầu ra của thử nghiệm có thể là Tích cực (bị ảnh hưởng) hoặc Tiêu cực (không bị ảnh hưởng). Vì vậy, trong trường hợp giả định này, chúng ta có một trường hợp phân loại nhị phân
Ma trận nhầm lẫn. Nhận TPR, TNR, FPR, FNR
Sử dụng tất cả các thuật ngữ trên, chúng tôi cũng có thể xây dựng ma trận nhầm lẫn nổi tiếng bao gồm các số liệu này và sau đó chúng tôi có thể tính Tỷ lệ dương thực và Tỷ lệ dương sai như trong hình bên dưới cho trường hợp phân loại nhị phân Xử lý các vấn đề về phân loại nhiều lớp Ma trận nhầm lẫn có thể được xác định rõ cho bất kỳ vấn đề phân loại lớp N nào. Tuy nhiên, nếu chúng ta có nhiều hơn 2 lớp (N>2) thì các phương trình trên (trong hình ma trận nhầm lẫn) không còn đúng nữa
Ví dụ làm việc với Python đa lớp - Mô hình phân loạiTrong một bài viết trước, tôi đã giải thích mô hình SVC là gì nên ở đây chúng tôi sẽ sử dụng mô hình này làm công cụ phân loại của mình - Bộ dữ liệuTrong bộ dữ liệu iris, chúng tôi có 3 lớp hoa và 4 tính năng. Vì vậy, vấn đề phân loại không còn là trường hợp nhị phân nữa vì chúng ta có 3 lớp Hãy tải dữ liệu và kiểm tra xem chúng ta có bao nhiêu lớp và mẫu trên mỗi lớp import numpy as np Chúng ta có thể thấy rằng chúng ta có 3 lớp/nhóm (nhãn. 0,1,2) và trong mỗi lớp/nhóm chúng ta có 50 (i. e. chiều cao của các thanh) mẫu (ví dụ/quan sát) Tiếp theo, chúng tôi sẽ chia dữ liệu thành các tập huấn luyện và kiểm tra trước khi khớp mô hình # Split the data into a training set and a test set Tiếp theo, hãy tạo mô hình phân loại (SVC tuyến tính) và điều chỉnh mô hình bằng tập huấn luyện # Fit the classifier Bây giờ, chúng ta sẽ dự đoán nhãn của các mẫu của bộ kiểm tra và chúng ta sẽ xây dựng ma trận nhầm lẫn của bài toán phân loại 3 lớp của chúng ta # Predict the labels of the test set samples Để đọc/hiểu rõ hơn về ma trận nhầm lẫn, hãy vẽ đồ thị disp = plot_confusion_matrix(classifier, X_test, y_test,
Cuối cùng, đây là điều kỳ diệu Chúng tôi sẽ ước tính FP, FN, TP, TN, TPR (Độ nhạy, tỷ lệ trúng, thu hồi hoặc tỷ lệ dương thực), TNR (Độ đặc hiệu hoặc Tỷ lệ âm thực), PPV (Giá trị dự đoán chính xác hoặc dương), NPV (Giá trị dự đoán âm) Cách tính ma trận nhầm lẫn cho đaMa trận nhầm lẫn đưa ra so sánh giữa giá trị Thực tế và giá trị dự đoán. Ma trận nhầm lẫn là ma trận N x N, trong đó N là số lượng lớp hoặc đầu ra . Đối với 2 lớp, chúng tôi nhận được ma trận nhầm lẫn 2 x 2. Đối với lớp 3, chúng tôi nhận được ma trận nhầm lẫn 3 X 3.
Cách tính độ chính xác trong đaĐiểm chính xác = (TP + TN) / (TP + TN + FP + FN) . Độ chính xác trung bình vĩ mô. tính toán độ chính xác cho tất cả các lớp riêng lẻ và sau đó tính trung bình cho chúng Độ chính xác trung bình vi mô. tính toán lớp khôn ngoan true positive và false positive và sau đó sử dụng nó để tính toán độ chính xác tổng thể Thuật toán nào phù hợp nhất cho đaCác thuật toán phổ biến có thể được sử dụng để phân loại nhiều lớp bao gồm. . k-Hàng xóm gần nhất Cây quyết định Naive Bayes rừng ngẫu nhiên Tăng cường độ dốc Ma trận nhầm lẫn nhiều nhãn là gì?Ma trận multilabel_confusion_matrix tính toán các ma trận nhầm lẫn nhiều nhãn theo lớp hoặc theo mẫu theo mẫu và trong các tác vụ có nhiều lớp, các nhãn được nhị phân hóa theo một đối đầu . ví dụ. |