Hướng dẫn how do you calculate precision and recall in python? - làm thế nào để bạn tính toán độ chính xác và thu hồi trong python?
Cập nhật lần cuối vào ngày 2 tháng 8 năm 2020 Show
Độ chính xác phân loại là tổng số dự đoán chính xác chia cho tổng số dự đoán được thực hiện cho một bộ dữ liệu. Là một biện pháp hiệu suất, độ chính xác là không phù hợp cho các vấn đề phân loại mất cân bằng. Lý do chính là số lượng ví dụ áp đảo từ lớp đa số (hoặc các lớp) sẽ áp đảo số lượng ví dụ trong lớp thiểu số, có nghĩa là ngay cả các mô hình không biết Sự mất cân bằng lớp học xảy ra. Một giải pháp thay thế cho việc sử dụng độ chính xác phân loại là sử dụng các số liệu độ chính xác và thu hồi. Trong hướng dẫn này, bạn sẽ khám phá cách tính toán và phát triển trực giác cho độ chính xác và thu hồi để phân loại mất cân bằng. Sau khi hoàn thành hướng dẫn này, bạn sẽ biết:
Bắt đầu dự án của bạn với phân loại mất cân bằng cuốn sách mới của tôi với Python, bao gồm các hướng dẫn từng bước và các tệp mã nguồn Python cho tất cả các ví dụ. with my new book Imbalanced Classification with Python, including step-by-step tutorials and the Python source code files for all examples. Bắt đầu nào.
Cách tính toán độ chính xác, nhớ lại và đo F cho Phân loại mất cân bằng bằng cách sáp nhập Waldemar, một số quyền được bảo lưu. Tổng quan hướng dẫnHướng dẫn này được chia thành năm phần; họ đang:
Ma trận nhầm lẫn để phân loại mất cân bằngĐộ chính xác cho phân loại mất cân bằng Nhớ lại để phân loại mất cân bằng Độ chính xác so với thu hồi để phân loại mất cân bằng Phương thức F để phân loại mất cân bằng Trước khi chúng ta đi sâu vào độ chính xác và nhớ lại, điều quan trọng là phải xem xét ma trận nhầm lẫn.
Trong loại ma trận nhầm lẫn này, mỗi ô trong bảng có một tên cụ thể và được hiểu rõ, được tóm tắt như sau: | Dự đoán tích cực | Dự đoán tiêu cực Độ chính xác cho phân loại mất cân bằngNhớ lại để phân loại mất cân bằng Độ chính xác so với thu hồi để phân loại mất cân bằng Phương thức F để phân loại mất cân bằng
Đối với các vấn đề phân loại mất cân bằng, lớp đa số thường được gọi là kết quả tiêu cực (ví dụ như không có thay đổi nào về kết quả kiểm tra âm tính hoặc kết quả kiểm tra âm tính) và lớp thiểu số thường được gọi là kết quả tích cực (ví dụ: thay đổi trên mạng hoặc thay đổi hoặc Kết quả kiểm tra tích cực của người Viking). Ma trận nhầm lẫn cung cấp cái nhìn sâu sắc hơn về không chỉ hiệu suất của mô hình dự đoán, mà cả các lớp nào được dự đoán chính xác, không chính xác và loại lỗi nào đang được thực hiện.Ma trận nhầm lẫn đơn giản nhất là cho một vấn đề phân loại hai lớp, với các lớp âm tính (lớp 0) và tích cực (lớp 1).
| Dự đoán tích cực | Dự đoán tiêu cực Lớp học tích cực | Đúng tích cực (TP) & NBSP; & nbsp; | Sai âm (FN) Lớp tiêu cực | Sai dương (FP) | Đúng là tiêu cực (TN) Các số liệu độ chính xác và thu hồi được định nghĩa theo các ô trong ma trận nhầm lẫn, cụ thể là các thuật ngữ như tích cực thực sự và âm tính sai. Bây giờ chúng tôi đã lướt qua ma trận nhầm lẫn, hãy để xem xét kỹ hơn về số liệu chính xác.
Kết quả là độ chính xác là 0,75, đó là một giá trị hợp lý nhưng không nổi bật. Bạn có thể thấy rằng độ chính xác chỉ đơn giản là tỷ lệ của các dự đoán tích cực chính xác trong tất cả các dự đoán tích cực được đưa ra hoặc độ chính xác của các dự đoán của lớp thiểu số. Hãy xem xét cùng một bộ dữ liệu, trong đó một mô hình dự đoán 50 ví dụ thuộc lớp thiểu số, 45 trong số đó là tích cực thực sự và năm trong số đó là dương tính giả. Chúng ta có thể tính toán độ chính xác cho mô hình này như sau:
Trong trường hợp này, mặc dù mô hình dự đoán ít ví dụ hơn thuộc về lớp thiểu số, tỷ lệ của các ví dụ tích cực chính xác là tốt hơn nhiều. Điều này nhấn mạnh rằng mặc dù độ chính xác là hữu ích, nhưng nó không kể toàn bộ câu chuyện. Nó không nhận xét về có bao nhiêu ví dụ về lớp học thực sự được dự đoán là thuộc về lớp tiêu cực, được gọi là phủ định sai. Bạn muốn bắt đầu với phân loại mất cân bằng?Tham gia khóa học gặp sự cố email 7 ngày miễn phí của tôi ngay bây giờ (với mã mẫu). Nhấp để đăng ký và cũng nhận được phiên bản Ebook PDF miễn phí của khóa học. Độ chính xác cho phân loại đa lớpĐộ chính xác không giới hạn trong các vấn đề phân loại nhị phân. Trong một vấn đề phân loại mất cân bằng với nhiều hơn hai lớp, độ chính xác được tính bằng tổng số tích cực thực sự trên tất cả các lớp chia cho tổng các dương tính thực sự và dương tính sai trên tất cả các lớp.
Ví dụ, chúng ta có thể có một vấn đề phân loại đa lớp mất cân bằng trong đó lớp đa số là lớp tiêu cực, nhưng có hai lớp thiểu số tích cực: lớp 1 và lớp 2. Độ chính xác có thể định lượng tỷ lệ dự đoán chính xác trên cả hai lớp dương. Hãy xem xét một bộ dữ liệu có tỷ lệ thiểu số 1: 1: 100, tỷ lệ 1: 1 cho mỗi lớp dương và tỷ lệ 1: 100 cho các lớp thiểu số so với lớp đa số và chúng tôi có 100 ví dụ trong mỗi nhóm thiểu số lớp, và 10.000 ví dụ trong lớp đa số. Một mô hình đưa ra dự đoán và dự đoán 70 ví dụ cho lớp thiểu số đầu tiên, trong đó 50 là chính xác và 20 là không chính xác. Nó dự đoán 150 cho lớp thứ hai với 99 chính xác và 51 không chính xác. Độ chính xác có thể được tính toán cho mô hình này như sau:
Chúng ta có thể thấy rằng thang đo số liệu chính xác khi chúng ta tăng số lượng các lớp thiểu số. Tính độ chính xác với Scikit-LearnĐiểm chính xác có thể được tính toán bằng cách sử dụng hàm scikit-learn precision_score (). Ví dụ: chúng ta có thể sử dụng chức năng này để tính độ chính xác cho các kịch bản trong phần trước. Đầu tiên, trường hợp có 100 ví dụ tích cực đến 10.000 ví dụ tiêu cực và mô hình dự đoán 90 điểm tích cực thực sự và 30 dương tính giả. Ví dụ hoàn chỉnh được liệt kê dưới đây.
Chạy ví dụ tính toán độ chính xác, phù hợp với tính toán thủ công của chúng tôi. Tiếp theo, chúng ta có thể sử dụng cùng một hàm để tính độ chính xác cho vấn đề đa lớp với 1: 1: 100, với 100 ví dụ trong mỗi lớp thiểu số và 10.000 trong lớp đa số. Một mô hình dự đoán 50 điểm tích cực thực sự và 20 dương tính giả cho lớp 1 và 99 tích cực thực sự và 51 dương tính giả cho lớp 2. Khi sử dụng hàm precision_score () để phân loại đa lớp, điều quan trọng là phải chỉ định các lớp thiểu số thông qua đối số nhãn của các nhãn hiệu và để thực hiện đặt đối số trung bình trên mạng thành ‘micro để đảm bảo tính toán được thực hiện như chúng ta mong đợi. Ví dụ hoàn chỉnh được liệt kê dưới đây.
Một lần nữa, chạy ví dụ tính toán độ chính xác cho ví dụ đa lớp phù hợp với tính toán thủ công của chúng tôi. Nhớ lại để phân loại mất cân bằngNhớ lại là một số liệu định lượng số lượng dự đoán tích cực chính xác được đưa ra từ tất cả các dự đoán tích cực có thể được đưa ra. Không giống như độ chính xác mà chỉ nhận xét về các dự đoán tích cực chính xác trong tất cả các dự đoán tích cực, việc thu hồi cung cấp một dấu hiệu của các dự đoán tích cực bị bỏ lỡ. Theo cách này, thu hồi cung cấp một số khái niệm về phạm vi bảo hiểm của lớp tích cực.
- Trang 27, Học tập mất cân bằng: Cơ sở, thuật toán và ứng dụng, 2013. Nhớ lại phân loại nhị phânTrong một vấn đề phân loại mất cân bằng với hai lớp, việc thu hồi được tính là số lượng tích cực thực sự chia cho tổng số tích cực thực sự và phủ định sai.
Kết quả là giá trị giữa 0,0 cho không thu hồi và 1.0 để thu hồi đầy đủ hoặc hoàn hảo. Hãy để làm cho bê tông tính toán này với một số ví dụ. Như trong phần trước, hãy xem xét một bộ dữ liệu với tỷ lệ thiểu số 1: 100 so với tỷ lệ đa số, với 100 ví dụ thiểu số và 10.000 ví dụ về lớp đa số. Một mô hình đưa ra dự đoán và dự đoán 90 dự đoán của lớp tích cực một cách chính xác và 10 không chính xác. Chúng ta có thể tính toán thu hồi cho mô hình này như sau:
Một mô hình đưa ra dự đoán và dự đoán 90 dự đoán của lớp tích cực một cách chính xác và 10 không chính xác. Chúng ta có thể tính toán thu hồi cho mô hình này như sau: Nhớ lại = 90 / (90 + 10)Nhớ lại = 90 /100 Nhớ lại = 0,9
Nhớ lại để phân loại nhiều lớp Nhớ lại không giới hạn trong các vấn đề phân loại nhị phân.
Nhớ lại = (77 + 95) / ((77 + 95) + (23 + 5))Nhớ lại = 172 / (172 + 28) Nhớ lại = 172 /200 Nhớ lại = 0,86 Tính toán nhớ lại với Scikit-learn
từ sklearn.metrics nhập khẩu recomme_score # Xác định thực tế # Tính toán thu hồi Tính toán nhớ lại với Scikit-learn
Một lần nữa, chạy ví dụ tính toán thu hồi cho ví dụ đa lớp phù hợp với tính toán thủ công của chúng tôi. Độ chính xác so với thu hồi để phân loại mất cân bằngBạn có thể quyết định sử dụng độ chính xác hoặc nhớ lại về vấn đề phân loại mất cân bằng của bạn. Tối đa hóa độ chính xác sẽ giảm thiểu số lượng dương tính giả, trong khi tối đa hóa việc thu hồi sẽ giảm thiểu số lượng âm tính sai.
Đôi khi, chúng tôi muốn dự đoán tuyệt vời của lớp tích cực. Chúng tôi muốn độ chính xác cao và thu hồi cao. Điều này có thể là một thách thức, vì thường việc thu hồi thường đến với chi phí giảm về độ chính xác.
- Trang 55, Học tập mất cân bằng: Cơ sở, thuật toán và ứng dụng, 2013. Tuy nhiên, thay vì chọn một biện pháp này hay biện pháp khác, chúng ta có thể chọn một số liệu mới kết hợp cả độ chính xác và thu hồi thành một điểm. Phương thức F để phân loại mất cân bằngĐộ chính xác phân loại được sử dụng rộng rãi vì nó là một biện pháp duy nhất được sử dụng để tóm tắt hiệu suất mô hình. Phương tiện F cung cấp một cách để kết hợp cả độ chính xác và thu hồi thành một biện pháp duy nhất nắm bắt cả hai thuộc tính. Một mình, không chính xác hoặc nhớ lại nói lên toàn bộ câu chuyện. Chúng ta có thể có độ chính xác tuyệt vời với việc thu hồi khủng khiếp, hoặc xen kẽ, độ chính xác khủng khiếp với sự thu hồi tuyệt vời. F-measure cung cấp một cách để thể hiện cả hai mối quan tâm với một điểm số. Một khi độ chính xác và thu hồi đã được tính toán cho một vấn đề phân loại nhị phân hoặc đaass, hai điểm có thể được kết hợp thành tính toán của phép đo F. Biện pháp F truyền thống được tính như sau:
Đây là giá trị trung bình hài hòa của hai phân số. Điều này đôi khi được gọi là điểm F hoặc điểm F1 và có thể là số liệu phổ biến nhất được sử dụng trong các vấn đề phân loại mất cân bằng.
- Trang 27, Học tập mất cân bằng: Cơ sở, thuật toán và ứng dụng, 2013. Giống như độ chính xác và thu hồi, điểm số F kém là 0,0 và điểm F-đo F tốt nhất hoặc hoàn hảo Ví dụ: điểm chính xác và thu hồi hoàn hảo sẽ dẫn đến điểm số F hoàn hảo:
Giống như độ chính xác và thu hồi, điểm số F kém là 0,0 và điểm F-đo F tốt nhất hoặc hoàn hảo Ví dụ: điểm chính xác và thu hồi hoàn hảo sẽ dẫn đến điểm số F hoàn hảo: F-measure = (2 * 1.0 * 1.0) / (1.0 + 1.0) F-measure = (2 * 1.0) / 2.0
Hãy xem xét một mô hình dự đoán 150 ví dụ cho lớp dương, 95 là chính xác (dương tính thật), có nghĩa là năm đã bị bỏ lỡ (âm tính giả) và 55 không chính xác (dương tính giả).
Độ chính xác = 0,633 Chúng ta có thể tính toán thu hồi như sau:
Ví dụ: điểm chính xác và thu hồi hoàn hảo sẽ dẫn đến điểm số F hoàn hảo: F-measure = (2 * 1.0 * 1.0) / (1.0 + 1.0)F-measure = (2 * 1.0) / 2.0 F-đo = 1.0 Hãy cùng làm cho bê tông tính toán này với một ví dụ hoạt động. Hãy xem xét một bộ dữ liệu phân loại nhị phân với tỷ lệ thiểu số 1: 100 so với tỷ lệ đa số, với 100 ví dụ thiểu số và 10.000 ví dụ về lớp đa số.
Chạy ví dụ tính toán độ F, phù hợp với tính toán thủ công của chúng tôi, trong một số lỗi làm tròn nhỏ. Đọc thêmPhần này cung cấp nhiều tài nguyên hơn về chủ đề nếu bạn đang muốn đi sâu hơn. Hướng dẫn
Giấy tờ
Sách
API
Bài viết
Bản tóm tắtTrong hướng dẫn này, bạn đã phát hiện ra cách tính toán và phát triển trực giác cho độ chính xác và thu hồi để phân loại mất cân bằng. Cụ thể, bạn đã học được:
Bạn có câu hỏi nào không? Đặt câu hỏi của bạn trong các ý kiến dưới đây và tôi sẽ cố gắng hết sức để trả lời. Nhận một xử lý về phân loại mất cân bằng!Phát triển các mô hình học tập mất cân bằng trong vài phút... Chỉ với một vài dòng mã Python Khám phá cách trong Sách điện tử mới của tôi: Phân loại mất cân bằng với Python Nó cung cấp các hướng dẫn tự học và các dự án từ đầu đến cuối: Số liệu hiệu suất, phương pháp lấy mẫu, SMOTE, chuyển động ngưỡng, hiệu chuẩn xác suất, thuật toán nhạy cảm với chi phí và nhiều hơn nữa ...self-study tutorials and end-to-end projects on: Mang các phương pháp phân loại mất cân bằng cho các dự án học máy của bạnXem những gì bên trong Làm thế nào để bạn tính toán độ chính xác trong Python?Độ chính xác là tỷ lệ TP / (TP + FP) trong đó TP là số lượng dương tính thực sự và FP số lượng dương tính giả. Độ chính xác là trực giác khả năng của trình phân loại không gắn nhãn là một mẫu dương tính âm. Giá trị tốt nhất là 1 và giá trị tồi tệ nhất là 0. Đọc thêm trong Hướng dẫn sử dụng. where tp is the number of true positives and fp the number of false positives. The precision is intuitively the ability of the classifier not to label as positive a sample that is negative. The best value is 1 and the worst value is 0. Read more in the User Guide.
Làm thế nào để bạn tính toán độ chính xác và nhớ lại?F-measure = (2 * độ chính xác * nhớ lại) / (độ chính xác + thu hồi) f-measure = (2 * 1.0 * 1.0) / (1.0 + 1.0) f-measure = (2 * 1.0) / 2.0 ... Độ chính xác = truepositives / (truepositives + falsePositives). Độ chính xác = 95 / (95 + 55). Độ chính xác = 0,633 .. Làm thế nào để bạn tính toán thu hồi và độ chính xác từ ma trận nhầm lẫn trong Python?Ma trận nhầm lẫn cung cấp cho bạn rất nhiều thông tin, nhưng đôi khi bạn có thể thích một số liệu ngắn gọn hơn ... Độ chính xác.độ chính xác = (tp) / (tp+fp) tp là số lượng tích cực thực và fp là số lượng dương tính giả..... Hồi tưởng.nhớ lại = (tp) / (tp+fn). Làm thế nào để Python tính toán độ chính xác của các mô hình?Độ chính xác cân bằng là một số liệu chúng ta có thể sử dụng để đánh giá hiệu suất của mô hình phân loại ... Độ chính xác cân bằng = (độ nhạy + độ đặc hiệu) / 2 .. Độ chính xác cân bằng = (0,75 + 9868) / 2 .. Độ chính xác cân bằng = 0,8684 .. |