Độ chính xác và thu hồi trong python là gì?
Độ chính xác, Thu hồi, Độ chính xác và Điểm F1 là các số liệu được sử dụng để đánh giá hiệu suất của một mô hình. Mặc dù các thuật ngữ nghe có vẻ phức tạp, nhưng các khái niệm cơ bản của chúng khá đơn giản. Chúng dựa trên các công thức đơn giản và có thể dễ dàng tính toán Show
Bài viết này sẽ đi qua wrt sau cho mỗi thuật ngữ
Ở phần cuối của hướng dẫn, chúng ta sẽ xem xét các ma trận nhầm lẫn và cách trình bày chúng. Tôi đã cung cấp liên kết đến google colab ở cuối bài viết Dữ liệu 📈 Giả sử chúng ta đang phân loại xem một email có phải là thư rác hay không Chúng ta sẽ có hai mảng, mảng đầu tiên sẽ lưu trữ giá trị thực trong khi mảng thứ hai sẽ lưu trữ các giá trị dự đoán. Các giá trị dự đoán này được lấy từ một mô hình phân loại. Loại mô hình không quan trọng, chúng tôi quan tâm đến những dự đoán mà mô hình của chúng tôi đưa ra # Actual Value 0- email KHÔNG phải là thư rác (tiêu cực) 1- email IS spam (tích cực) Điều khoản chính 🔑 Tích cực thực sự ➕ ➕Trường hợp này xảy ra khi nhãn dương và giá trị dự đoán của chúng tôi cũng dương. Trong kịch bản của chúng tôi, khi email là thư rác và mô hình của chúng tôi cũng phân loại email đó là thư rác Điều kiện cho True positiveTP = 0 Dương Tính Giả ➖ ➕Trường hợp này xảy ra khi nhãn là âm nhưng dự đoán mô hình của chúng tôi là dương. Trong kịch bản của chúng tôi, khi email không phải là thư rác nhưng mô hình của chúng tôi phân loại nó là thư rác Điều kiện cho Tích cực Sai_______2Tiêu cực thực sự ➖ ➖Điều này tương tự với True positive, điểm khác biệt duy nhất là nhãn và giá trị dự đoán đều âm. Trong kịch bản của chúng tôi, khi email không phải là thư rác và mô hình của chúng tôi cũng phân loại email đó không phải là thư rác Điều kiện cho True Phủ địnhTN = 0 Âm tính giả ➕ ➖Trường hợp này xảy ra khi nhãn dương nhưng giá trị dự đoán là âm. Theo một cách nào đó, ngược lại với Sai tích cực. Trong kịch bản của chúng tôi, khi email là thư rác nhưng mô hình của chúng tôi phân loại nó không phải là thư rác Điều kiện cho Phủ định Sai_______4Dự đoán đúng 💯Điều kiện duy nhất cho trường hợp này là nhãn đó và giá trị dự đoán giống nhau. Trong trường hợp của chúng tôi, khi mô hình phân loại email spam là thư rác và email không phải thư rác là không phải thư rác Điều kiện để dự đoán đúngDự đoán chính xác cũng có thể được tính bằng tổng của Tích cực Thực sự và Tiêu cực Thực sự Tính toán các dự đoán đúngCP = 0 Dự đoán sai ❎Điều kiện cho trường hợp này là nhãn và giá trị dự đoán không được bằng nhau. Trong trường hợp của chúng tôi, một dự đoán không chính xác là khi mô hình của chúng tôi phân loại một email rác là không phải thư rác và một email không phải thư rác là thư rác Điều kiện dự đoán saiDự đoán sai cũng có thể được tính bằng tổng của Kết quả dương tính giả và Âm tính giả Tính toán dự đoán saiICP = 0 Độ chính xác 🎯 Độ chính xác là tỷ lệ dự đoán đúng trên tổng số dự đoán. Đây là một trong những biện pháp đơn giản nhất của một mô hình. Chúng ta phải hướng đến độ chính xác cao cho mô hình của mình. Nếu một mô hình có độ chính xác cao, chúng ta có thể suy luận rằng mô hình đó luôn đưa ra dự đoán chính xác Công thức chính xácCông thức chính xácKhông có Sklearnaccuracy = (TP + TN)/(TP + FP + TN + FN) Với Sklearn________số 8Nhớ lại 📲 Một trường hợp khi Độ chính xác có thể gây hiểu nhầmĐộ chính xác cao đôi khi có thể gây hiểu lầm. Xem xét kịch bản dưới đây labels = [0,0,0,0,1,0,0,1,0,0] Một email spam rất hiếm so với một email không phải thư rác. Kết quả là số lần xuất hiện nhãn = 0 nhiều hơn nhãn = 1. Trong mã ở trên, mảng nhãn của chúng tôi có 8 email không phải thư rác và 2 email rác. Nếu mô hình của chúng tôi được xây dựng theo cách nó luôn phân loại email là không phải thư rác, thì nó sẽ đạt được độ chính xác là 80%. Điều này rất dễ gây hiểu lầm vì mô hình của chúng tôi về cơ bản không thể phát hiện email spam Tính điểm thu hồiRecall tính toán tỷ lệ của số dương tính được dự đoán trên tổng số nhãn dương tính Công thức thu hồiCông thức thu hồiTrong trường hợp trên của chúng tôi, mô hình của chúng tôi sẽ thu hồi 0 vì nó có 0 Tích cực thực sự. Điều này cho chúng tôi biết rằng mô hình của chúng tôi không hoạt động tốt trên các email spam và chúng tôi cần cải thiện nó Không có SklearnTP = 0 0Với SklearnTP = 0 1Độ chính xác 🐾 Một trường hợp khi Điểm thu hồi có thể gây hiểu nhầmThu hồi cao cũng có thể gây hiểu lầm cao. Hãy xem xét trường hợp khi mô hình của chúng tôi được điều chỉnh để luôn trả về dự đoán có giá trị dương. Về cơ bản, nó phân loại tất cả các email là thư rác TP = 0 2Mặc dù trường hợp trên sẽ có độ chính xác thấp (20%) nhưng nó sẽ có điểm thu hồi cao (100%) Tính toán chính xácĐộ chính xác là tỷ lệ của các dự đoán tích cực chính xác trên tổng số dự đoán tích cực Công thức cho độ chính xácCông thức cho độ chính xácTrong trường hợp trên, độ chính xác sẽ thấp (20%) do mô hình dự đoán tổng cộng 10 kết quả dương tính, trong đó chỉ có 2 kết quả đúng. Điều này cho chúng tôi biết rằng, mặc dù khả năng thu hồi của chúng tôi cao và mô hình của chúng tôi hoạt động tốt trên các trường hợp tích cực, tôi. e thư rác, nó hoạt động kém trên các email không phải thư rác
Không có SklearnTP = 0 3Với SklearnTP = 0 4Điểm F1 🚗 Điểm F1 phụ thuộc vào cả Thu hồi và Độ chính xác, nó là giá trị trung bình hài hòa của cả hai giá trị Công thức tính điểm F1Chúng tôi xem xét giá trị trung bình hài hòa so với giá trị trung bình số học vì chúng tôi muốn Thu hồi hoặc Độ chính xác thấp để tạo ra Điểm F1 thấp. Trong trường hợp trước của chúng tôi, khi chúng tôi thu hồi 100% và độ chính xác là 20%, giá trị trung bình số học sẽ là 60% trong khi giá trị trung bình của Điều hòa sẽ là 33. 33%. Giá trị trung bình của Harmonic thấp hơn và có ý nghĩa hơn vì chúng tôi biết mô hình này khá tệ TP = 0 5Không có SklearnTP = 0 6Với SklearnTP = 0 7Ma trận bối rối ❓ https. // hướng tới khoa học dữ liệu. com/hiểu-nhầm-matrix-a9ad42dcfd62Ma trận nhầm lẫn là một ma trận để biểu thị số lượng Xác thực Đúng, Tích cực Sai, Phủ định Thực và Phủ định Sai Giả sử chúng tôi đang làm việc với dữ liệu sau TP = 0 8Ví dụ về ma trận nhầm lẫnTính toán ma trận nhầm lẫn bằng sklearnTP = 0 9Bạn cũng có thể chuyển tham số chuẩn hóa để chuẩn hóa dữ liệu được tính toán Hiển thị ma trận nhầm lẫn dưới dạng biểu đồ thanhFP = 0 0Ma trận nhầm lẫn dưới dạng biểu đồ thanhHiển thị Ma trận nhầm lẫn dưới dạng Bản đồ nhiệtFP = 0 1Ma trận nhầm lẫn dưới dạng Bản đồ nhiệtHiển thị Ma trận Nhầm lẫn bằng PandasFP = 0 2Ma trận nhầm lẫn sử dụng PandasSử dụng Sklearn để tạo Báo cáo phân loại 👔____23 Dưới đây là đầu ra Đầu ra mãPhần kết luận Chỉ riêng độ chính xác không thể xác định xem một mô hình là tốt hay xấu nhưng độ chính xác kết hợp với độ chính xác, khả năng thu hồi và Điểm F1 có thể đưa ra ý tưởng tốt về hiệu suất của mô hình độ chính xác và thu hồi với ví dụ là gì?Khi công cụ tìm kiếm trả về 30 trang, trong đó chỉ có 20 trang có liên quan, trong khi không trả về 40 trang bổ sung có liên quan, độ chính xác của nó là 20/30 = 2/3, cho chúng tôi biết mức độ hợp lệ của kết quả, trong khi khả năng thu hồi của nó là 20/
Thu hồi chính xác là gì?Độ chính xác được tính bằng cách chia số dương thực cho bất kỳ thứ gì được dự đoán là dương. Thu hồi (hoặc Tỷ lệ tích cực thực) được tính bằng cách chia số tích cực thực sự cho bất kỳ thứ gì lẽ ra phải được dự đoán là tích cực
Sự khác biệt giữa độ chính xác và thu hồi là gì?Độ chính xác và thu hồi là hai chỉ số đánh giá mô hình cực kỳ quan trọng. Mặc dù độ chính xác đề cập đến tỷ lệ phần trăm kết quả của bạn có liên quan, nhưng khả năng thu hồi đề cập đến tỷ lệ phần trăm của tổng số kết quả có liên quan được thuật toán của bạn phân loại chính xác
Thu hồi trong Python là gì?Việc thu hồi là tỷ lệ tp / (tp + fn) trong đó tp là số lượng dương tính thật và fn là số lượng âm tính giả . Việc thu hồi trực quan là khả năng của bộ phân loại tìm thấy tất cả các mẫu dương tính. |