Ma trận nhầm lẫn trong knn python là gì?
Sau khi tạo mô hình học máy, độ chính xác là thước đo được sử dụng để đánh giá mô hình học máy. Mặt khác, bạn không thể sử dụng độ chính xác trong mọi trường hợp vì nó sẽ gây hiểu nhầm. Bởi vì độ chính xác 99% có thể trông đẹp như một tỷ lệ phần trăm, nhưng hãy xem xét mô hình học máy được sử dụng để Phát hiện gian lận hoặc phát hiện tiêu thụ ma túy Show
Trong những tình huống quan trọng như vậy, tỷ lệ thất bại 1% có thể tạo ra tác động đáng kể Ví dụ: nếu một mô hình dự đoán một giao dịch gian lận trị giá 10000 đô la là Không gian lận, thì đó không phải là một mô hình tốt và không thể được sử dụng trong sản xuất Trong mô hình tiêu thụ ma túy, hãy xem xét liệu mô hình có dự đoán rằng người đó đã sử dụng ma túy nhưng thực tế không. Nhưng do Dự đoán sai của mô hình, người đó có thể bị bỏ tù vì tội không thực sự phạm phải Trong các tình huống như vậy, bạn cần một số liệu tốt hơn độ chính xác để xác thực mô hình máy học. Trong hướng dẫn này, bạn sẽ tìm hiểu ma trận nhầm lẫn là gì, cách vẽ ma trận nhầm lẫn cho mô hình phân loại nhị phân và mô hình phân loại đa biến Mục lục
Ma trận nhầm lẫn là gì?Ma trận nhầm lẫn là ma trận cho phép bạn hình dung hiệu suất của các mô hình học máy phân loại. Với hình ảnh trực quan này, bạn có thể hiểu rõ hơn về cách thức hoạt động của mô hình máy học của mình Tạo mô hình phân loại lớp nhị phânTrong phần này, bạn sẽ tạo một mô hình phân loại để dự đoán liệu một bệnh nhân có bị ung thư vú hay không, được biểu thị bằng các lớp đầu ra 9 hoặc 0Bộ dữ liệu ung thư vú có sẵn trong thư viện bộ dữ liệu sklearn Nó chứa tổng số 569 hàng dữ liệu. Mỗi hàng bao gồm 30 tính năng số và một lớp đầu ra. Nếu bạn muốn thao tác hoặc trực quan hóa tập dữ liệu sklearn, bạn có thể chuyển đổi nó thành khung dữ liệu gấu trúc và chơi xung quanh với các chức năng của khung dữ liệu gấu trúc Để tạo mô hình, bạn sẽ tải tập dữ liệu sklearn, chia nó thành tập huấn luyện và tập thử nghiệm và điều chỉnh dữ liệu huấn luyện vào mô hình 1Sau khi tạo mô hình, bạn có thể sử dụng dữ liệu thử nghiệm để dự đoán các giá trị và kiểm tra xem mô hình đang hoạt động như thế nào Bạn có thể sử dụng các lớp đầu ra thực tế từ dữ liệu thử nghiệm của mình và đầu ra dự đoán được trả về bởi phương thức 2 để vẽ ma trận nhầm lẫn và đánh giá độ chính xác của mô hìnhSử dụng đoạn mã dưới đây để tạo mô hình Đoạn trích
Mô hình KNeighborsClassifier được tạo cho dữ liệu đào tạo về bệnh ung thư vú đầu ra
Để kiểm tra mô hình đã tạo, bạn có thể sử dụng dữ liệu kiểm tra thu được từ phân tách thử nghiệm đào tạo và dự đoán đầu ra. Sau đó, bạn sẽ có các giá trị dự đoán Đoạn trích
đầu ra
Bây giờ, hãy sử dụng các lớp được dự đoán và các lớp đầu ra thực tế từ dữ liệu thử nghiệm để trực quan hóa ma trận nhầm lẫn Bạn sẽ học cách vẽ ma trận nhầm lẫn cho mô hình phân loại nhị phân trong phần tiếp theo Vẽ ma trận nhầm lẫn cho các lớp nhị phânBạn có thể tạo ma trận nhầm lẫn bằng cách sử dụng phương thức mess_matrix() từ gói 3. Phương thức 4 sẽ cung cấp cho bạn một mảng mô tả Giá trị tích cực đúng, Giá trị tích cực sai, Giá trị phủ định sai và Giá trị phủ định đúng** Đoạn trích ** 0đầu ra 1Khi bạn đã tạo ma trận nhầm lẫn, bạn có thể sử dụng phương pháp 5 có sẵn trong thư viện seaborn để vẽ ma trận nhầm lẫnPhương thức seaborn heatmap() chấp nhận một tham số bắt buộc và một vài tham số tùy chọn khác
Phương thức 5 trả về các trục matplotlib có thể được lưu trữ trong một biến. Ở đây, bạn sẽ lưu trữ trong biến 1. Giờ đây, bạn có thể đặt tiêu đề, nhãn trục x và trục y cũng như nhãn đánh dấu cho trục x và trục y
Cuối cùng, sử dụng cốt truyện. phương thức show() để vẽ ma trận nhầm lẫn Sử dụng đoạn mã dưới đây để tạo ma trận nhầm lẫn, đặt tiêu đề và nhãn cho trục, đặt nhãn đánh dấu và vẽ biểu đồ Đoạn trích 1đầu ra Ma trận nhầm lẫn Seaborn với nhãnNgoài ra, bạn cũng có thể vẽ ma trận nhầm lẫn bằng ConfusionMatrixDisplay. from_predictions() có sẵn trong thư viện sklearn nếu bạn muốn tránh sử dụng seaborn Tiếp theo, bạn sẽ học cách vẽ ma trận nhầm lẫn với tỷ lệ phần trăm Vẽ ma trận nhầm lẫn cho các lớp nhị phân với tỷ lệ phần trămMục tiêu của việc tạo và vẽ ma trận nhầm lẫn là để kiểm tra tính chính xác của mô hình học máy. Sẽ tốt hơn nếu trực quan hóa độ chính xác bằng tỷ lệ phần trăm thay vì chỉ sử dụng số. Trong phần này, bạn sẽ học cách vẽ ma trận nhầm lẫn cho các lớp nhị phân với tỷ lệ phần trăm. Để vẽ ma trận nhầm lẫn với tỷ lệ phần trăm, trước tiên, bạn cần tính tỷ lệ phần trăm của Kết quả xác thực đúng, Kết quả tích cực sai, Kết quả phủ định sai và Kết quả phủ định thực. Bạn có thể tính tỷ lệ phần trăm của các giá trị này bằng cách chia giá trị cho tổng của tất cả các giá trị Sử dụng phương pháp 4, bạn có thể tính tổng tất cả các giá trị trong ma trận nhầm lẫnSau đó, chuyển phần trăm của mỗi giá trị dưới dạng dữ liệu sang phương pháp 5 bằng cách sử dụng câu lệnh 6Sử dụng đoạn mã dưới đây để vẽ ma trận nhầm lẫn với tỷ lệ phần trăm Đoạn trích 5đầu ra Seaborn Confusion Matrix với NhãnVẽ ma trận nhầm lẫn cho các lớp nhị phân có nhãnTrong phần này, bạn sẽ vẽ một ma trận nhầm lẫn cho các lớp Nhị phân với các nhãn Xác thực Đúng, Tích cực Sai, Phủ định Sai và Phủ định Đúng Bạn cần tạo một danh sách các nhãn và chuyển đổi nó thành một mảng bằng cách sử dụng phương thức 7 với hình dạng 8. Sau đó, mảng nhãn này phải được chuyển đến thuộc tính 9. Điều này sẽ vẽ ma trận nhầm lẫn với chú thích nhãnSử dụng đoạn mã dưới đây để vẽ ma trận nhầm lẫn với các nhãn Đoạn trích 9đầu ra Ma trận nhầm lẫn với nhãnVẽ ma trận nhầm lẫn cho các lớp nhị phân có nhãn và tỷ lệ phần trămTrong phần này, bạn sẽ học cách vẽ ma trận nhầm lẫn với nhãn, số lượng và tỷ lệ phần trăm Bạn có thể sử dụng điều này để đo tỷ lệ phần trăm của từng nhãn. Ví dụ: bao nhiêu phần trăm dự đoán là Xác thực đúng, Tích cực sai, Phủ định sai và Phủ định đúng Đối với điều này, trước tiên, bạn cần tạo một danh sách các nhãn, sau đó đếm từng nhãn trong một danh sách và đo tỷ lệ phần trăm của các nhãn trong danh sách khác Sau đó, bạn có thể nén các danh sách khác nhau này để tạo nhãn. Nén có nghĩa là nối một mục từ mỗi danh sách và tạo một danh sách. Sau đó, danh sách này phải được chuyển đổi thành một mảng bằng phương pháp 7Sau đó chuyển mảng cuối cùng tới thuộc tính 9. Điều này sẽ tạo ra một ma trận nhầm lẫn với thông tin về nhãn, số lượng và tỷ lệ phần trăm cho mỗi lớpSử dụng đoạn mã dưới đây để hình dung ma trận nhầm lẫn với tất cả các chi tiết Đoạn trích 2đầu ra Ma trận nhầm lẫn với nhãnĐây là cách bạn có thể tạo ma trận nhầm lẫn cho mô hình học máy phân loại nhị phân Tiếp theo, bạn sẽ tìm hiểu về cách tạo ma trận nhầm lẫn cho mô hình phân loại với nhiều lớp đầu ra Tạo mô hình phân loại cho nhiều lớpTrong phần này, bạn sẽ tạo một mô hình phân loại cho nhiều lớp đầu ra. Nói cách khác, nó còn được gọi là các lớp đa biến Bạn sẽ sử dụng bộ dữ liệu mống mắt có sẵn trong thư viện bộ dữ liệu sklearn Nó chứa tổng số 150 hàng dữ liệu. Mỗi hàng bao gồm bốn tính năng số và một lớp đầu ra. Lớp đầu ra có thể là bất kỳ loại hoa Iris nào. Cụ thể là Iris Setosa, Iris Versicolor, Iris Virginica Để tạo mô hình, bạn sẽ tải tập dữ liệu sklearn, chia nó thành tập huấn luyện và tập thử nghiệm và điều chỉnh dữ liệu huấn luyện vào mô hình 1Sau khi tạo mô hình, bạn có thể sử dụng dữ liệu thử nghiệm để dự đoán các giá trị và kiểm tra xem mô hình đang hoạt động như thế nào Bạn có thể sử dụng các lớp đầu ra thực tế từ dữ liệu thử nghiệm của mình và đầu ra dự đoán được trả về bởi phương thức 2 để vẽ ma trận nhầm lẫn và đánh giá độ chính xác của mô hìnhSử dụng đoạn mã dưới đây để tạo mô hình Đoạn trích 0đầu ra
Bây giờ mô hình được tạo ra Sử dụng dữ liệu thử nghiệm từ phân tách thử nghiệm đào tạo và dự đoán giá trị đầu ra bằng phương pháp 2 như hình bên dướiĐoạn trích
Bạn sẽ có đầu ra dự đoán dưới dạng một mảng. Giá trị 0, 1, 2 hiển thị danh mục dự đoán của dữ liệu thử nghiệm đầu ra 3Bây giờ, bạn có thể sử dụng dữ liệu dự đoán có sẵn trong 05 để tạo ma trận nhầm lẫn cho nhiều lớpVẽ ma trận nhầm lẫn cho nhiều lớpTrong phần này, bạn sẽ học cách vẽ một ma trận nhầm lẫn cho nhiều lớp Bạn có thể sử dụng phương thức 4 có sẵn trong thư viện sklearn để tạo ma trận nhầm lẫn. Nó sẽ chứa ba hàng và cột đại diện cho danh mục hoa thực tế và danh mục hoa được dự đoán theo thứ tự tăng dầnĐoạn trích 4đầu ra 5Đầu ra bên dưới hiển thị ma trận nhầm lẫn cho số lượng loại hoa thực tế và dự đoán Bạn có thể sử dụng ma trận này để vẽ ma trận nhầm lẫn bằng thư viện seaborn, như hình bên dưới Đoạn trích 6đầu ra Vẽ ma trận nhầm lẫn cho nhiều lớp với tỷ lệ phần trămTrong phần này, bạn sẽ vẽ ma trận nhầm lẫn cho nhiều lớp với tỷ lệ phần trăm của mỗi lớp đầu ra. Bạn có thể tính tỷ lệ phần trăm bằng cách chia các giá trị trong ma trận nhầm lẫn cho tổng của tất cả các giá trị Sử dụng đoạn mã dưới đây để vẽ ma trận nhầm lẫn cho nhiều lớp với tỷ lệ phần trăm Đoạn trích 7đầu ra Vẽ ma trận nhầm lẫn cho nhiều lớp với số và tỷ lệ phần trămTrong phần này, bạn sẽ học cách vẽ ma trận nhầm lẫn với nhãn, số lượng và tỷ lệ phần trăm cho nhiều lớp Bạn có thể sử dụng điều này để đo tỷ lệ phần trăm của từng nhãn. Ví dụ: bao nhiêu phần trăm dự đoán thuộc về từng loại hoa Đối với điều này, trước tiên, bạn cần tạo một danh sách các nhãn, sau đó đếm từng nhãn trong một danh sách và đo tỷ lệ phần trăm của các nhãn trong danh sách khác Sau đó, bạn có thể nén các danh sách khác nhau này để tạo nhãn nối. Nén có nghĩa là nối một mục từ mỗi danh sách và tạo một danh sách. Sau đó, danh sách này phải được chuyển đổi thành một mảng bằng phương pháp 7Mảng cuối cùng này phải được chuyển đến thuộc tính 9. Điều này sẽ tạo ra một ma trận nhầm lẫn với thông tin về nhãn, số lượng và tỷ lệ phần trăm cho từng loại hoaSử dụng đoạn mã dưới đây để hình dung ma trận nhầm lẫn với tất cả các chi tiết Đoạn trích 8đầu ra Đây là cách bạn có thể vẽ ma trận nhầm lẫn cho nhiều lớp với tỷ lệ phần trăm và số Vẽ ma trận nhầm lẫn mà không cần phân loạiĐể vẽ ma trận nhầm lẫn mà không có mô hình phân loại, hãy tham khảo câu trả lời StackOverflow này Phần kết luậnTóm lại, bạn đã học cách vẽ ma trận nhầm lẫn cho mô hình máy học với các lớp đầu ra nhị phân và nhiều lớp đầu ra Bạn cũng đã học cách chú thích ma trận nhầm lẫn với nhiều chi tiết hơn như nhãn, số lượng của từng nhãn và tỷ lệ phần trăm của từng nhãn để trực quan hóa tốt hơn Ma trận nhầm lẫn trong Python là gì?Ma trận nhầm lẫn là gì? . Các hàng đại diện cho các lớp thực tế mà kết quả nên có. Trong khi các cột đại diện cho các dự đoán chúng tôi đã thực hiện. Sử dụng bảng này, thật dễ dàng để biết dự đoán nào sai. a table that is used in classification problems to assess where errors in the model were made. The rows represent the actual classes the outcomes should have been. While the columns represent the predictions we have made. Using this table it is easy to see which predictions are wrong.
Mục đích của một ma trận nhầm lẫn là gì?Ma trận nhầm lẫn là một bảng được sử dụng để xác định hiệu suất của thuật toán phân loại . Ma trận nhầm lẫn trực quan hóa và tóm tắt hiệu suất của thuật toán phân loại.
ma trận nhầm lẫn đưa ra ví dụ là gì?Ma trận nhầm lẫn là ma trận được sử dụng để xác định hiệu suất của các mô hình phân loại cho một tập hợp dữ liệu thử nghiệm nhất định . Nó chỉ có thể được xác định nếu biết giá trị thực của dữ liệu thử nghiệm. Bản thân ma trận có thể dễ hiểu nhưng các thuật ngữ liên quan có thể gây nhầm lẫn.
Ma trận nhầm lẫn trong học máy là gì?Ma trận nhầm lẫn là ma trận N x N được sử dụng để đánh giá hiệu suất của mô hình phân loại, trong đó N là số lớp mục tiêu . Ma trận so sánh các giá trị mục tiêu thực tế với các giá trị được mô hình máy học dự đoán. |