Làm cách nào để lấy ma trận nhầm lẫn cho hồi quy logistic trong Python?

Học máy với scikit-learning

Người bắt đầu

4 giờ

316. 4K

Learn how to build and tune predictive models and evaluate how well they'll perform on unseen data.

Xem chi tiết Mũi tên phải

bắt đầu khóa học

Học máy cho dữ liệu chuỗi thời gian trong Python

Người bắt đầu

4 giờ

34. 5K

This course focuses on feature engineering and machine learning for time series data.

Xem chi tiết Mũi tên phải

bắt đầu khóa học

Trong học máy, Phân loại được sử dụng để chia dữ liệu thành các danh mục. Nhưng sau khi làm sạch và tiền xử lý dữ liệu cũng như đào tạo mô hình của chúng tôi, làm cách nào để biết liệu mô hình phân loại của chúng tôi có hoạt động tốt hay không? .  

Ma trận nhầm lẫn được sử dụng để đo lường hiệu suất của bộ phân loại theo chiều sâu. Trong hướng dẫn đơn giản về Ma trận nhầm lẫn này, chúng ta sẽ hiểu và học tốt hơn về ma trận nhầm lẫn

Ma trận nhầm lẫn là gì và tại sao chúng ta cần chúng?

Phân loại Các mô hình có nhiều đầu ra phân loại. Hầu hết các phép đo lỗi sẽ tính tổng lỗi trong mô hình của chúng tôi, nhưng chúng tôi không thể tìm thấy các trường hợp lỗi riêng lẻ trong mô hình của mình. Mô hình có thể phân loại sai một số danh mục hơn các danh mục khác, nhưng chúng tôi không thể thấy điều này bằng thước đo độ chính xác tiêu chuẩn

Khóa đào tạo Python

Tìm hiểu về thao tác dữ liệu trong Python Khám phá khóa học

Hơn nữa, giả sử có sự mất cân bằng lớp đáng kể trong dữ liệu đã cho. Trong trường hợp đó, tôi. e. , một lớp có nhiều thể hiện dữ liệu hơn các lớp khác, một mô hình có thể dự đoán lớp đa số cho mọi trường hợp và có điểm chính xác cao; . Đây là nơi ma trận nhầm lẫn hữu ích

Ma trận nhầm lẫn trình bày bố cục bảng về các kết quả khác nhau của dự đoán và kết quả của một vấn đề phân loại và giúp hình dung kết quả của nó

Nó vẽ một bảng gồm tất cả các giá trị thực tế và dự đoán của một bộ phân loại

Hình 1. Bố cục cơ bản của Ma trận nhầm lẫn

Làm cách nào để tạo Ma trận nhầm lẫn 2x2?

Chúng ta có thể thu được bốn kết hợp khác nhau từ các giá trị dự đoán và thực tế của một bộ phân loại

Hình 2. Ma trận hỗn loạn

  • Tích cực thực sự. Số lần các giá trị dương thực tế của chúng tôi bằng với giá trị dương được dự đoán. Bạn đã dự đoán một giá trị dương và nó đúng
  • dương tính giả. Số lần mô hình của chúng tôi dự đoán sai các giá trị âm thành dương. Bạn đã dự đoán một giá trị âm và nó thực sự là dương
  • Tiêu cực thực sự. Số lần các giá trị âm thực tế của chúng tôi bằng với các giá trị âm được dự đoán. Bạn đã dự đoán một giá trị âm và nó thực sự là âm
  • Âm tính giả. Số lần mô hình của chúng tôi dự đoán sai các giá trị âm thành dương. Bạn đã dự đoán một giá trị âm và nó thực sự là dương

Số liệu ma trận nhầm lẫn

Hình 3. Ma trận nhầm lẫn cho một bộ phân loại

Hãy xem xét một ma trận nhầm lẫn được tạo cho một bộ phân loại phân loại mọi người dựa trên việc họ nói tiếng Anh hay tiếng Tây Ban Nha

Từ sơ đồ trên, chúng ta có thể thấy rằng

Tích cực thực sự [TP] = 86

Tiêu cực thực sự [TN] = 79

Tích cực sai [FP] = 12

Phủ định sai [FN] = 10

PCP trong AI và Máy học

Hợp tác với Đại học Purdue Khóa học khám phá

Chỉ cần nhìn vào ma trận, hiệu suất của mô hình của chúng tôi không rõ ràng lắm. Để tìm hiểu mức độ chính xác của mô hình, chúng tôi sử dụng các chỉ số sau

  • Sự chính xác. Độ chính xác được sử dụng để tìm phần giá trị được phân loại chính xác. Nó cho chúng ta biết tần suất bộ phân loại của chúng ta đúng. Nó là tổng của tất cả các giá trị thực chia cho tổng giá trị

hinh 4. Sự chính xác

Trong trường hợp này

Độ chính xác = [86 +79] / [86 + 79 + 12 + 10] = 0. 8823 = 88. 23%

  • Độ chính xác. Độ chính xác được sử dụng để tính toán khả năng phân loại chính xác các giá trị dương của mô hình. Đó là số dương thực chia cho tổng số giá trị dương được dự đoán

Hình 5. Độ chính xác

Trong trường hợp này,

Độ chính xác = 86 / [86 + 12] = 0. 8775 = 87. 75%

  • Nhớ lại. Nó được sử dụng để tính toán khả năng dự đoán các giá trị dương của mô hình. "Mô hình dự đoán các giá trị dương chính xác bao lâu một lần?". Đó là số dương thực chia cho tổng số giá trị dương thực.   

  

Hình 6. Nhớ lại

Trong trường hợp này,

Nhớ lại = 86 / [86 + 10] = 0. 8983 = 89. 83%

  • Điểm F1. Đó là ý nghĩa hài hòa của Recall và Precision. Nó hữu ích khi bạn cần tính đến cả Độ chính xác và Độ thu hồi

Hình 7. Điểm F1

Trong trường hợp này,

Điểm F1 = [2* 0. 8775 * 0. 8983] / [0. 8775 + 0. 8983] = 0. 8877 = 88. 77%

Mở rộng ma trận nhầm lẫn

Để chia tỷ lệ ma trận nhầm lẫn, hãy tăng số lượng hàng và cột. Tất cả các điểm tích cực thực sự sẽ nằm dọc theo đường chéo. Các giá trị khác sẽ là Sai tích cực hoặc Sai tiêu cực

 

Hình 12. Thu nhỏ tập dữ liệu của chúng tôi

Bây giờ chúng ta đã hiểu ma trận nhầm lẫn là gì và hoạt động bên trong của nó, hãy khám phá cách chúng tôi tìm thấy độ chính xác của một mô hình với bản demo thực hành về ma trận nhầm lẫn với Python

Ma trận nhầm lẫn với Python

Chúng tôi sẽ xây dựng mô hình hồi quy logistic bằng cách sử dụng bộ dữ liệu đau tim để dự đoán xem bệnh nhân có nguy cơ bị đau tim hay không.  

Được mô tả bên dưới là tập dữ liệu mà chúng tôi sẽ sử dụng cho phần trình diễn này

Hình 9. Bộ dữ liệu đau tim

Hãy nhập các thư viện cần thiết để tạo mô hình của chúng ta.

   

Hình 10. Nhập ma trận nhầm lẫn trong python

Chúng ta có thể nhập chức năng ma trận nhầm lẫn từ sklearn. chỉ số. Hãy chia tập dữ liệu của chúng tôi thành các tính năng đầu vào và tập dữ liệu đầu ra mục tiêu.  

  

Hình 11. Tách dữ liệu thành các biến và tập dữ liệu đích

Như chúng ta có thể thấy, dữ liệu của chúng ta chứa một loạt các giá trị, một số là một chữ số và một số có ba số. Để làm cho các phép tính của chúng tôi đơn giản hơn, chúng tôi sẽ chia tỷ lệ dữ liệu của mình và giảm dữ liệu đó thành một phạm vi giá trị nhỏ bằng cách sử dụng Bộ chia tỷ lệ tiêu chuẩn

                                                   

Hình 12. Thu nhỏ tập dữ liệu của chúng tôi

Bây giờ, hãy chia tập dữ liệu của chúng tôi thành hai. một để đào tạo mô hình của chúng tôi và một để kiểm tra mô hình của chúng tôi. Để làm điều này, chúng tôi sử dụng train_test_split được nhập từ sklearn. Sử dụng Mô hình hồi quy logistic, chúng tôi sẽ thực hiện Phân loại trên dữ liệu đào tạo của mình và dự đoán dữ liệu thử nghiệm của chúng tôi để kiểm tra độ chính xác

Hình 13. Thực hiện phân loại

Để tìm độ chính xác của ma trận nhầm lẫn và tất cả các số liệu khác, chúng tôi có thể nhập precision_score và ratings_report từ cùng một thư viện

                                                      

          

Hình 14. Độ chính xác của phân loại

precision_score cung cấp cho chúng tôi độ chính xác của trình phân loại của chúng tôi

Hình 15. Ma trận nhầm lẫn cho dữ liệu

Sử dụng các giá trị dự đoán [pred] và giá trị thực tế [y_test], chúng ta có thể tạo một ma trận nhầm lẫn với hàm mess_matrix

Sau đó, bằng cách sử dụng phương thức ravel[] của hàm mess_matrix, chúng ta có thể nhận được các giá trị True positive, True Negative, False positive và False Negative

Hình 16. Trích xuất giá trị ma trận

Hình 17. Số liệu ma trận nhầm lẫn

Cuối cùng, bằng cách sử dụng bảng phân loại_report, chúng tôi có thể tìm thấy các giá trị của các số liệu khác nhau trong ma trận nhầm lẫn của chúng tôi

Mong muốn chuyển sang lĩnh vực lập trình?

Phần kết luận

Trong bài viết này - Hướng dẫn tốt nhất về ma trận nhầm lẫn, chúng tôi đã xem xét ma trận nhầm lẫn là gì và tại sao chúng tôi sử dụng ma trận nhầm lẫn. Sau đó, chúng tôi đã xem xét cách tạo ma trận nhầm lẫn 2X2 và tính toán các số liệu của ma trận nhầm lẫn bằng cách sử dụng nó. Chúng tôi đã xem xét cách mở rộng ma trận nhầm lẫn để bao gồm nhiều hơn hai lớp phân loại và cuối cùng đã có kinh nghiệm thực hành với ma trận nhầm lẫn bằng cách triển khai chúng trong Python.  

Bài viết về ma trận nhầm lẫn này có hữu ích cho bạn không?

Tìm Chương trình chứng chỉ chuyên nghiệp của chúng tôi về Chương trình đào tạo trực tuyến về trí tuệ nhân tạo và máy học ở các thành phố hàng đầu

NameDatePlaceChương trình chứng chỉ chuyên nghiệp về AI và Machine LearningCohort bắt đầu vào ngày 16 tháng 1 năm 2023,
Đợt cuối tuầnYour CityView DetailsChương trình sau đại học về AI và Machine Learning, SingaporeCohort bắt đầu vào ngày 23 tháng 1 năm 2023,
Weekend batchSingaporeView Details

Giới thiệu về tác giả

đơn giản

Simplilearn là một trong những nhà cung cấp đào tạo trực tuyến hàng đầu thế giới về Tiếp thị kỹ thuật số, Điện toán đám mây, Quản lý dự án, Khoa học dữ liệu, CNTT, Phát triển phần mềm và nhiều công nghệ mới nổi khác

Làm cách nào để vẽ ma trận nhầm lẫn cho hồi quy logistic trong Python?

Tạo ma trận nhầm lẫn .
nhập numpy
thực tế = numpy. ngẫu nhiên. nhị thức[1, 0. 9, kích thước = 1000] dự đoán = numpy. ngẫu nhiên. nhị thức[1, 0. 9, kích thước = 1000]
từ số liệu nhập sklearn
cm_display = số liệu. ConfusionMatrixDisplay[confusion_matrix = confusion_matrix, display_labels = [False, True]]
nhập matplotlib. pyplot dưới dạng plt

Làm thế nào để vẽ ma trận nhầm lẫn cho hồi quy logistic?

Hồi quy logistic là một loại hồi quy chúng ta có thể sử dụng khi biến phản hồi là nhị phân. Một cách phổ biến để đánh giá chất lượng của mô hình hồi quy logistic là tạo ma trận nhầm lẫn, là bảng 2x2 hiển thị các giá trị dự đoán từ mô hình so với. các giá trị thực tế từ tập dữ liệu thử nghiệm

Có ma trận nhầm lẫn cho hồi quy?

Ma trận nhầm lẫn được sử dụng để đánh giá các mô hình phân loại. Xin lưu ý rằng điều này không được sử dụng để đánh giá các mô hình hồi quy tuyến tính . Các mô hình phân loại phân loại kết quả thành hai hoặc nhiều loại [e. g. cho dù một email là thư rác hay không phải thư rác], trong khi hồi quy tuyến tính dự đoán một số [e. g. dự đoán giá nhà].

Chủ Đề