Thu hồi trong Python là gì?

Nếu bạn đã từng thử giải quyết một nhiệm vụ Phân loại bằng thuật toán Máy học (ML), thì bạn có thể đã nghe nói về chỉ số ML Điểm thu hồi nổi tiếng. Trên trang này, chúng tôi sẽ

  • Xem qua logic đằng sau số liệu (cả đối với trường hợp nhị phân và đa lớp);
  • Kiểm tra công thức của số liệu;
  • Tìm hiểu cách diễn giải giá trị Thu hồi;
  • Tính toán Nhớ lại trên các ví dụ đơn giản;
  • Tìm hiểu sâu hơn một chút về điểm Thu hồi vi mô và vĩ mô;
  • Và xem cách làm việc với điểm Nhớ lại bằng Python

Hãy nhảy vào

Điểm Nhớ lại được lấy từ ma trận Nhầm lẫn. Vì vậy, để hiểu rõ hơn về số liệu, trước tiên vui lòng xem trang Ma trận nhầm lẫn

Với điểm số Độ chính xác có hai nhược điểm, chẳng hạn như vấn đề mất cân bằng và không mang tính thông tin như một thước đo Học máy độc lập, Nhà khoa học dữ liệu đã phát triển hai thước đo mới giải quyết các nhược điểm của Độ chính xác và giúp các nhà nghiên cứu có cái nhìn rõ hơn về hiệu suất của mô hình

Cập nhật, các số liệu này được sử dụng rộng rãi để đánh giá các thuật toán Phân loại trong toàn ngành. Chúng được gọi là

Thông thường, Độ chính xác và Thu hồi được sử dụng cùng nhau vì chúng bổ sung cho nhau một cách độc đáo. Vì vậy, để tìm hiểu thêm, vui lòng xem trang Chính xác khi bạn đọc xong trang này

Để xác định thuật ngữ, trong Machine Learning, điểm Thu hồi (hoặc chỉ Thu hồi) là chỉ số Phân loại có tỷ lệ dự đoán của lớp Tích cực là Tích cực theo sự thật cơ bản trên tổng số mẫu Tích cực. Nói cách khác, Recall đo khả năng của bộ phân loại phát hiện các mẫu Dương tính

Để đánh giá một mô hình Phân loại bằng cách sử dụng điểm Nhớ lại, bạn cần phải có

  • Các lớp học sự thật mặt đất;
  • Và dự đoán của mô hình

Nhớ lại công thức tính điểm

Điểm Nhớ lại là một số liệu trực quan, vì vậy bạn không nên gặp bất kỳ khó khăn nào khi hiểu nó
Để có được giá trị Điểm thu hồi, bạn cần chia Kết quả khẳng định thực (lớp dự đoán cho một mẫu là Tích cực và lớp sự thật nền tảng cũng là Tích cực) cho tổng số mẫu Tích cực - Kết quả xác thực đúng và Phủ định sai (lớp dự đoán cho

Công thức thu hồi chính thức

Giống như Precision, Recall cũng độc lập với phân phối lớp, vì vậy bạn có thể sử dụng nó một cách hiệu quả ngay cả khi dữ liệu của bạn bị mất cân bằng. Để đơn giản hóa công thức, hãy hình dung nó

nguồn hình ảnh. Wikipedia

Như bạn có thể thấy, Nhớ lại có thể được mô tả dễ dàng bằng cách sử dụng các thuật ngữ ma trận Nhầm lẫn, chẳng hạn như Tích cực Đúng và Tiêu cực Sai. Tuy nhiên, như được mô tả trên trang Ma trận nhầm lẫn, các thuật ngữ này chủ yếu được sử dụng cho các tác vụ Phân loại nhị phân

Vì vậy, thuật toán điểm thu hồi cho nhiệm vụ Phân loại nhị phân như sau

  1. Nhận dự đoán từ mô hình của bạn;
  2. Tính số dự đoán đúng và sai;
  3. Sử dụng công thức Nhớ lại chính thức;
  4. Và phân tích giá trị thu được

Điểm thu hồi nhiều lớp

Đối với trường hợp nhị phân, quy trình làm việc rất đơn giản. Tuy nhiên, cũng có những trường hợp sử dụng đa lớp và đây là lúc mọi thứ có thể trở nên phức tạp một chút. Nói chung, có nhiều cách tiếp cận khác nhau mà bạn có thể thực hiện khi tính toán Thu hồi cho tác vụ nhiều lớp. Có ít nhất ba tùy chọn khác nhau, như bạn có thể thấy trong hàm

  • Vi mô;
  • Vĩ mô;
  • Và có trọng số

Mỗi cách tiếp cận này đều vững chắc và có thể rất hữu ích trong việc đánh giá mô hình. Ngoài ra, trong cuộc sống thực, bạn có thể sẽ tính toán giá trị chỉ số bằng cách sử dụng tất cả chúng để có cái nhìn toàn diện hơn về một vấn đề. Vui lòng xem các ví dụ tính toán điểm thu hồi vi mô và vĩ mô bên dưới hoặc nếu bạn muốn tìm hiểu thêm

Vì vậy, thuật toán ghi lại điểm cho nhiệm vụ Phân loại nhiều lớp như sau

  1. Nhận dự đoán từ mô hình của bạn;
  2. Xác định phương pháp tính toán nhiều lớp mà bạn cảm thấy là tốt nhất cho nhiệm vụ của mình;
  3. Sử dụng thư viện Máy học (ví dụ: sklearn) để thực hiện các phép tính cho bạn;
  4. Và phân tích giá trị thu được trong khi ghi nhớ phương pháp bạn đã sử dụng để có được giá trị đó

Trong trường hợp Thu hồi, việc giải thích giá trị chỉ số ít nhiều đơn giản. Càng nhiều mẫu dương tính được phát hiện, điểm càng cao, kết quả càng tốt. Giá trị tốt nhất có thể là 1 (nếu một mô hình tìm thấy tất cả các mẫu Dương tính) và giá trị xấu nhất là 0 (nếu một mô hình không tìm thấy bất kỳ mẫu nào)

Theo kinh nghiệm của chúng tôi, đối với cả trường hợp sử dụng đa lớp và nhị phân, bạn nên cân nhắc Thu hồi > 0. 85 là một điểm xuất sắc, Nhớ lại > 0. 7 là tốt, và bất kỳ điểm nào khác là kém. Tuy nhiên, bạn có thể đặt ngưỡng của riêng mình vì logic và tác vụ của bạn có thể khác nhiều so với của chúng tôi. Ngoài ra, hãy cẩn thận trong các trường hợp có nhiều lớp, vì bạn có thể nhận được một mô hình có giá trị chỉ số cao ở một lớp nhưng lại thấp ở lớp khác. Vì vậy, hãy luôn cố gắng nhìn vào bức tranh lớn hơn. Không dựa vào một giá trị duy nhất trung bình trên các lớp

Hiểu được liệu bạn có giá trị Thu hồi cao hay thấp là điều tốt, nhưng giá trị này có ý nghĩa gì trong sơ đồ tổng thể của mọi thứ? . Vì vậy, với Recall cao, bạn có thể tin tưởng vào khả năng của mô hình trong việc phát hiện tất cả các thể hiện của lớp Tích cực

Giả sử chúng ta có nhiệm vụ Phân loại nhị phân. Ví dụ: bạn đang cố xác định xem một con mèo hay một con chó trên một hình ảnh. Bạn có một mô hình và muốn đánh giá hiệu suất của nó bằng Recall. Bạn chuyển 15 bức ảnh với một con mèo và 20 bức ảnh với một con chó cho người mẫu. Từ 15 hình ảnh con mèo đã cho, thuật toán dự đoán 9 hình ảnh là con chó và từ 20 hình ảnh con chó - 6 hình ảnh là con mèo. Trước tiên hãy xây dựng ma trận Nhầm lẫn (bạn có thể kiểm tra phép tính chi tiết trên trang Ma trận Nhầm lẫn)

Tuyệt vời, bây giờ hãy tính điểm Nhớ lại bằng cách sử dụng công thức cho trường hợp sử dụng Phân loại nhị phân (số dự đoán đúng nằm trong các ô màu xanh lục của bảng và số dự đoán sai nằm trong các ô màu đỏ)

  • Nhớ lại = (TP) / (TP + FN) = (6) / (6 + 9) ~ 0. 4

Tuyệt. Hãy mở rộng nhiệm vụ và thêm một lớp khác, ví dụ: lớp con chim. Bạn chuyển 15 bức tranh về con mèo, 20 bức tranh về con chó và 12 bức tranh về con chim cho người mẫu. Các dự đoán như sau

  • 15 hình ảnh con mèo. 9 hình con chó, 3 hình con chim và 15 - 9 - 3 = 3 hình con mèo;
  • 20 hình ảnh con chó. 6 hình con mèo, 4 hình con chim, và 20 - 6 - 4 = 10 hình con chó;
  • hình ảnh 12 con giáp. 4 hình con chó, 2 hình con mèo và 12 - 4 - 2 = 6 hình con chim

Hãy xây dựng ma trận

Ví dụ tính toán điểm Thu hồi Macro

Điểm thu hồi vĩ mô là một cách để nghiên cứu toàn bộ phân loại. Để tính điểm Thu hồi Macro, bạn cần tính toán số liệu một cách độc lập cho từng loại và lấy giá trị trung bình của tổng. Cách tiếp cận Macro đối xử bình đẳng với tất cả các lớp vì nó nhằm mục đích nhìn thấy bức tranh toàn cảnh hơn và đánh giá hiệu suất của thuật toán trên tất cả các lớp trong một giá trị

Hãy tính giá trị Nhớ lại cho mỗi lớp. Để làm như vậy, chúng ta cần đi từng cột (ô màu xanh lá cây là dự đoán Tích cực Đúng cho một lớp cụ thể trong khi các ô màu đỏ là Phủ định Sai)

  • thu hồi chó. 10 / (4 + 6 + 10) ~ 0. 5
  • thu hồi chim. 6 / (4 + 2 + 6) ~ 0. 5
  • thu hồi mèo. 3 / (9 + 3 + 3) ~ 0. 2
  • Điểm thu hồi vĩ mô. (Thu hồi chó + Thu hồi chim + Thu hồi mèo) / 3 = (0. 5 + 0. 5 + 0. 2)/3 ~ 0. 4

Ví dụ tính điểm Micro Recall

Mặt khác, điểm Micro Recall nghiên cứu các lớp riêng lẻ. Để tính toán nó, bạn cần tính tổng tất cả các Dự đoán khẳng định đúng và chia cho tổng của tất cả các dự đoán khẳng định đúng và phủ định sai trên tất cả các lớp. Như vậy, Micro Recal sẽ kết hợp đóng góp của tất cả các lớp để tính ra chỉ số trung bình

Hãy tính giá trị điểm Micro Recal cho trường hợp sử dụng của chúng ta

  • Điểm thu hồi vi mô. (TP Chó + TP Chim + TP Mèo) / ((TP + FN) Chó + (TP + FN) Chim + (TP + FN) Mèo) = (10 + 6 + 3) / ((4 + 6 + 10) . 404

Điểm thu hồi được sử dụng rộng rãi trong ngành, vì vậy tất cả các thư viện Machine và Deep Learning đều có triển khai riêng cho số liệu này. Đối với trang này, chúng tôi đã chuẩn bị ba khối mã có tính năng Thu hồi trong Python. Cụ thể, bạn có thể xem

  • Nhớ lại trong Scikit-learning (Sklearn);
  • Nhớ lại trong TensorFlow;
  • Thu hồi trong PyTorch

Scikit-learning (Sklearn)

Scikit-learning là thư viện Python phổ biến nhất cho Machine Learning cổ điển. Theo kinh nghiệm của chúng tôi, Sklearn là công cụ mà bạn có thể sẽ sử dụng nhiều nhất để tính toán Thu hồi (đặc biệt nếu bạn đang làm việc với dữ liệu dạng bảng). May mắn thay, bạn có thể làm điều đó trong nháy mắt

Xin chào, cảm ơn bạn đã sử dụng mã do Hasty cung cấp. Xin lưu ý rằng một số khối mã có thể chưa hoàn thành 100% và sẵn sàng để chạy như hiện tại. Điều này được thực hiện có chủ ý vì chúng tôi chỉ tập trung vào việc triển khai những phần khó khăn nhất có thể khó bắt đầu từ đầu. Xem khối mã của chúng tôi dưới dạng khối LEGO - bạn không thể sử dụng nó như một giải pháp độc lập, nhưng bạn có thể lấy nó và thêm vào hệ thống của mình để bổ sung cho nó. Nếu bạn có thắc mắc về việc sử dụng công cụ, vui lòng liên hệ với chúng tôi để được hỗ trợ trực tiếp từ nhóm Hasty

Nhớ lại Python có nghĩa là gì?

Thu hồ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 ( ) . R = T p T p + F n.

Thu hồi được sử dụng để làm gì?

Trong truy xuất thông tin, thu hồi là phần tài liệu liên quan được truy xuất thành công . Ví dụ: đối với tìm kiếm văn bản trên một bộ tài liệu, số lần thu hồi là số kết quả đúng chia cho số kết quả lẽ ra phải được trả về.

Nhớ lại trong học máy là gì?

Thu hồi là gì? . Việc thu hồi đo lường khả năng phát hiện các mẫu dương tính của mô hình. Thu hồi càng cao, càng nhiều mẫu dương tính được phát hiện. the ratio between the numbers of Positive samples correctly classified as Positive to the total number of Positive samples. The recall measures the model's ability to detect positive samples. The higher the recall, the more positive samples detected.

Thu hồi mô hình là gì?

Thu hồi. Khả năng của một mô hình tìm thấy tất cả các trường hợp có liên quan trong một tập dữ liệu . Về mặt toán học, chúng tôi định nghĩa khả năng thu hồi là số kết quả dương tính thực chia cho số kết quả dương tính thực cộng với số âm tính giả. Độ chính xác. Khả năng của một mô hình phân loại chỉ xác định các điểm dữ liệu có liên quan.