Độ chính xác và Thu hồi là các số liệu được sử dụng để đánh giá các thuật toán học máy vì chỉ độ chính xác thôi là không đủ để hiểu hiệu suất của các mô hình phân loại Show
Giả sử chúng ta đã phát triển một mô hình phân loại để chẩn đoán một căn bệnh hiếm gặp, chẳng hạn như ung thư. Chỉ 5% bệnh nhân ung thư, mô hình dự đoán tất cả bệnh nhân khỏe mạnh sẽ có độ chính xác 95%. Nếu chỉ 0. 1% bệnh nhân bị ung thư, cùng một mô hình dự đoán tất cả bệnh nhân đều khỏe mạnh đạt 99. độ chính xác 9%. Tất nhiên, "độ chính xác" là sai lệch. Cả hai mô hình này đều vô dụng để phát hiện bệnh vì chúng bỏ sót tất cả các bệnh ung thư. Chúng tôi cần các số liệu khác giúp chúng tôi cân nhắc chi phí của các loại lỗi khác nhau Chúng ta có thể tạo một ma trận nhầm lẫn để biểu thị kết quả của phân loại nhị phân Cách tính toán độ chính xác, thu hồi và điểm F1Độ chính xác đưa ra tỷ lệ dự đoán tích cực thực sự chính xác. Nó tính đến các trường hợp dương tính giả, là những trường hợp được gắn cờ không chính xác để đưa vào. Độ chính xác có thể được tính như $$ Chính xác = \frac{TP}{TP + FP}$$ Thu hồi đo lường tỷ lệ tích cực thực tế đã được dự đoán chính xác. Nó tính đến các trường hợp phủ định sai, đó là những trường hợp lẽ ra phải được gắn cờ để đưa vào nhưng không được. Thu hồi có thể được tính như $$ Gọi lại = \frac{TP}{TP + FN}$$ Hãy xem xét một hệ thống được thiết kế để phân biệt email thật với thư rác. Trong hệ thống này, một email thực sự là một email tích cực thực sự. Một mô hình loại bỏ tất cả các email là thư rác sẽ có độ chính xác hoàn hảo vì không có thông báo sai (không có email nào bị gắn cờ sai là có thật). Tuy nhiên, Recall sẽ là 0% vì không có email xác thực nào (không có email nào được gắn cờ chính xác là có thật) Một mô hình tốt cần đạt được sự cân bằng phù hợp giữa Độ chính xác và Độ thu hồi. Vì lý do này, điểm F (đo F hoặc F1) được sử dụng bằng cách kết hợp Chính xác và Thu hồi để có được mô hình phân loại cân bằng. Điểm F được tính bằng giá trị trung bình điều hòa của Độ chính xác và Thu hồi như trong phương trình sau $$ Điểm F = 2 \times \frac{p \times r}{ p + r} $$ Chúng ta cũng có thể sử dụng Precision và Recall cho các bài toán nhiều lớp. Một ma trận nhầm lẫn có thể được xây dựng để biểu diễn kết quả của mô hình 3 lớp Ta có thể tính Độ chính xác của mô hình như sau $ \textrm{Độ chính xác của mô hình} = \frac{\textrm{Mô hình đã dự đoán chính xác điều gì}}{\textrm{Tổng số phần tử}} = \frac {n_{1,1} +n_{2,2} Độ chính xác và Thu hồi cho mỗi lớp được tính riêng. Ví dụ: Độ chính xác và Thu hồi cho Lớp 1 được tính như sau $ \textrm{Độ chính xác của mô hình cho C1} = \frac{\textrm{Mô hình dự đoán chính xác C1}}{\textrm{Mô hình dự đoán C1}} = \frac {n_{1,1} } $ \textrm{Ghi lại mô hình cho C1} = \frac{\textrm{Mô hình đã dự đoán chính xác C1}}{\textrm{C1 thực sự là gì}} = \frac {n_{1,1} }{n_ Độ chính xác và Thu hồi được tính cho Loại 2 và Loại 3 theo cùng một cách. Đối với dữ liệu có nhiều hơn 3 lớp, số liệu được tính bằng cùng một phương pháp Một ví dụ về PythonHãy sử dụng tập dữ liệu mẫu để hiển thị cách tính các chỉ số đánh giá. Mục tiêu của chúng tôi là dự đoán liệu khối u có ác tính hay không từ kích thước của khối u trong dữ liệu ung thư vú Tập dữ liệu này có hai lớp. ác tính, ký hiệu là 0 và lành tính, ký hiệu là 1. Bởi vì mục tiêu là một biến nhị phân, đây là một vấn đề phân loại nhị phân. Ví dụ này sẽ sử dụng một phương pháp đơn giản để phân loại nhị phân Nếu diện tích trung bình của khối u cao hơn ngưỡng xác định, mô hình sẽ phân loại đối tượng là ác tính. Chúng tôi sẽ tạo một chức năng từ đầu để tính toán các số liệu đánh giá Đầu tiên, chúng tôi sẽ nhập và tải tập dữ liệu
Tiếp theo, chúng tôi xác định các biến dự đoán và mục tiêu
Bây giờ, chúng ta có thể định nghĩa một bộ phân loại đơn giản
Ở đây, chúng ta sẽ tạo hàm để lấy các giá trị Accuracy, Precision, Recall và F1 Score
Bây giờ chúng ta sẽ áp dụng trình phân loại được xác định ở trên cho các giá trị ngưỡng khác nhau. Chúng tôi đã xác định 20 giá trị ngưỡng khác nhau bằng cách sử dụng 1 và một mảng cho từng chỉ số. Sau đó, chúng tôi lặp qua từng giá trị ngưỡng, nhận dự đoán từ trình phân loại của chúng tôi, nhận từng chỉ số và in một cột cho từng kết quả
Ngoài
Kết quả cho thấy tác động của việc thay đổi ngưỡng. Tăng ngưỡng sẽ tăng cường Độ chính xác và giảm Thu hồi. Độ chính xác cân bằng Điểm F1 với Thu hồi cao nhất ở ngưỡng. 21 Biểu đồ sau biểu đồ Chính xác so với Thu hồi để xem các thay đổi đối với nhau
KẾT QUẢ Hình này cho thấy các giá trị Độ chính xác và Thu hồi có quan hệ tỷ lệ nghịch với nhau. Cái này tăng thì cái kia giảm Chúng tôi cũng sẽ vẽ biểu đồ để hiển thị các thay đổi của tất cả các chỉ số cùng nhau ________số 8_______ KẾT QUẢ Giá trị có ý nghĩa nhất để xem xét trong biểu đồ trên là điểm F1 (đường màu đen). Giá trị cao nhất của điểm F1 là nơi các giá trị Độ chính xác và Độ thu hồi gần nhau. Điểm F1 là tối ưu khi giá trị ngưỡng bằng 0. 21 Đánh giá mô hình nhiều lớpTrong ví dụ này, chúng tôi sẽ sử dụng bộ dữ liệu Iris để tạo mô hình nhiều lớp để phân loại các loài hoa diên vĩ khác nhau. Bộ dữ liệu này bao gồm 3 loại hoa Iris khác nhau (Setosa, Versicolour và Virginica). Các tính năng là Chiều dài lá đài, Chiều rộng lá đài, Chiều dài cánh hoa và Chiều rộng cánh hoa Trong ví dụ này, chúng tôi sẽ sử dụng thư viện Scikit-Learn để đánh giá mô hình phân loại Trước tiên, chúng tôi sẽ nhập và tải tập dữ liệu
Bây giờ chúng ta sẽ thực hiện năm bước để tạo mô hình và lấy các số liệu cần thiết Bước 1. Xác định các biến giải thích và biến mục tiêu
Bước 2. Áp dụng hoạt động chuẩn hóa cho sự ổn định số 0Bước 3. Khớp mô hình hồi quy logistic với dữ liệu tàu 1Bước 4. Đưa ra dự đoán về dữ liệu bằng xác thực chéo 2Bước 5. Tính toán Ma trận Nhầm lẫn theo các giá trị thực tế và dự đoán 3Cuối cùng, chúng ta có thể tạo một bản đồ nhiệt để hiển thị ma trận nhầm lẫn 4Ngoài ra, hãy in báo cáo phân loại để quan sát các số liệu đánh giá 5Ngoài 6Từ báo cáo phân loại, chúng ta có thể quan sát giá trị của các chỉ số đánh giá cho từng lớp và giá trị trung bình của từng chỉ số. Ví dụ: độ chính xác và độ thu hồi của mô hình cho Lớp 0 đều là 1. 00, có nghĩa là mô hình có thể dự đoán chính xác tất cả các trường hợp của Lớp 0 Lưu ý rằng báo cáo đưa ra số lượng phiên bản cho mỗi lớp. 2 và 3 lần lượt là giá trị trung bình không có trọng số và giá trị trung bình có trọng số so với mức hỗ trợHơn nữa, thư viện 4 có các chức năng riêng biệt cho từng chỉ số đánh giá mà bạn có thể tìm thấy trong tài liệu của họDưới đây là các ví dụ về cách tính riêng từng chỉ số bằng cách sử dụng 4 7Ngoài 8Các số liệu đánh giá trên đưa ra mức trung bình của các lớp. Nếu chúng ta muốn quan sát độ chính xác cho từng lớp riêng biệt, chúng ta cần xác định tham số 6. Một ví dụ cho Lớp 1 được đưa ra dưới đây 9Ngoài 0Bắt đầu học miễn phí Nhận thông tin cập nhật trong hộp thư đến của bạnTham gia cùng hơn 7.500 người học khoa học dữ liệu Bài viết gần đâyƯu đãi khóa học tốt nhất cho Thứ Sáu Đen và Thứ Hai Điện Tử 2022Hàm sigmoidchấm sản phẩm7 khóa học về trí tuệ nhân tạo (AI) tốt nhất năm 20237 khóa học về trí tuệ nhân tạo (AI) tốt nhất Các khóa học hàng đầu bạn có thể tham gia ngay hôm nay để bắt đầu hành trình vào lĩnh vực Trí tuệ nhân tạo Tìm hiểu thêmNhận thông tin cập nhật trong hộp thư đến của bạnTham gia cùng hơn 7.500 người học khoa học dữ liệu Gặp gỡ các tác giảFatih Karabiber Ph. D. trong Kỹ thuật máy tính, Nhà khoa học dữ liệu Phó Giáo sư Kỹ thuật Máy tính. Tác giả/đồng tác giả của hơn 30 ấn phẩm tạp chí. Giảng viên các khóa học sau đại học/đại học. Người hướng dẫn luận văn tốt nghiệp. Tư vấn cho các công ty CNTT Python tính điểm chính xác như thế nào?Cách tính toán độ chính xác cân bằng trong Python bằng sklearn . Độ 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 Điểm chính xác và điểm thu hồi trong Python là gì?Độ chính xác ( ) được định nghĩa là số lần xác thực đúng ( ) trên số lần xác thực đúng cộng với số lần xác định sai ( ). Nhớ lại ( ) được định nghĩa là số lần khẳng định đúng ( ) trên số lần khẳng định đúng cộng với số lần phủ định sai ( )
Độ chính xác được tính như thế nào?Độ chính xác được tính bằng tỷ lệ giữa số lượng mẫu Dương tính được phân loại chính xác trên tổng số mẫu được phân loại là Dương tính (hoặc chính xác . Độ chính xác đo lường độ chính xác của mô hình trong việc phân loại một mẫu là dương tính.
Hàm nào được sử dụng để tính toán độ chính xác của mô hình trong Python?Các bước tính toán độ chính xác trên tập dữ liệu bằng Python
. Thực hiện phân tích và làm sạch dữ liệu bằng cách sử dụng phân tích giá trị còn thiếu, kỹ thuật phát hiện ngoại lệ. Tách tập dữ liệu thành dữ liệu huấn luyện và kiểm tra bằng hàm train_test_split(). read_csv() function. Perform data analysis and cleaning using missing value analysis, outlier detection techniques. Split the dataset into training and test data using train_test_split() function. |