ההגדרה: TP חלקי כל מה שבאמת חיובי
Recall עונה על השאלה ההפוכה מ-Precision: מתוך כל המקרים שהיו חיוביים באמת, כמה מהם המודל הצליח לתפוס בפועל? הנוסחה, לפי תיעוד-scikit-learn, היא TP חלקי (TP ועוד FN) — מספר החיוביים-האמיתיים (True Positives) מחולק בסך-כל המקרים החיוביים-האמיתיים שהיו קיימים, כלומר TP בתוספת השליליים-הכוזבים (False Negatives, מקרים חיוביים שהמודל פספס וסימן בטעות כ'שלילי'). ערך של 1.0 פירושו שהמודל תפס את כל המקרים החיוביים בלי לפספס אף אחד; ערך נמוך פירושו שחלק גדול מהמקרים החיוביים-האמיתיים חמק מהמודל.
מקור המושג: Sensitivity באבחון רפואי, Recall באחזור-מידע
כמו Precision, גם Recall שורשו במחקר אחזור-המידע — שם המדד נועד לבדוק כמה מהמסמכים הרלוונטיים שהיו קיימים באוסף, מנוע-חיפוש הצליח להחזיר בפועל, לפי ספר-היסוד של ואן-רייסברגן (1979) וההמשך שלו בספרות התחום. ויקיפדיה מציינת ש-Recall מוכר גם בשם 'שיעור-חיוביים-אמיתיים' (True Positive Rate) או 'Sensitivity' — כינוי נפוץ במיוחד באבחון רפואי ובבדיקות-סקר, שם השאלה הנשאלת זהה במהותה: מתוך כל האנשים שבאמת חולים, כמה הבדיקה זיהתה. השימוש המקביל בשני התחומים — אחזור-מסמכים ואבחון-רפואי — הוא שהפך את המדד לאחד המושגים הנפוצים ביותר, בכינויים שונים, כמעט בכל תחום שמצריך למיין תוצאות ל'רלוונטי' ו'לא-רלוונטי', ולעיתים אף גורם לבלבול כשקוראים מתחומים שונים משתמשים בכינוי אחר לאותו חישוב בדיוק.
דוגמה מספרית
באותה דוגמה ממדריך-המשתמש של scikit-learn: על תיוג-אמת [0, 1, 0, 1] ותחזיות-מודל [0, 1, 0, 0], ה-Recall יוצא 0.5 בלבד — מתוך שני המקרים שהיו חיוביים באמת, המודל תפס רק אחד ופספס את השני. לעומת זאת, ה-Precision של אותו מודל בדיוק הוא 1.0, כי התחזית-החיובית היחידה שהוא כן נתן הייתה נכונה. הפער הזה, בין מודל אחד עם Precision מושלם ו-Recall חלקי, ממחיש למה שני המדדים נבדקים כמעט תמיד יחד ולא בנפרד.
המלכודת: Recall מושלם בלי מאמץ
אפשר להשיג Recall של 1.0 באופן טריוויאלי: מודל שמסמן את כל המקרים כ'חיוביים', בלי הבחנה, לא יפספס אף מקרה חיובי-אמיתי — ולכן ה-Recall שלו מושלם, גם בלי שהמודל 'עשה' משהו חכם. המחיר: כל המקרים השליליים-האמיתיים יסווגו בטעות כחיוביים, וה-Precision יקרוס. בדיוק כמו ש-Precision לבדו יכול להטעות, כך גם Recall לבדו — וזו הסיבה שהשניים כמעט תמיד מופיעים זה לצד זה בדוח-הערכה של מודל-סיווג.
מתי Recall הוא המדד החשוב מביניהם
המשקל שנותנים ל-Recall תלוי בעלות של פספוס. בסקר-רפואי למחלה מסכנת-חיים, שלילי-כוזב (חולה שהבדיקה סימנה כבריא) עלול להיות חמור בהרבה מחיובי-כוזב (בריא שנשלח לבדיקה נוספת מיותרת) — ולכן מערכות כאלה נבנות לרוב כדי למקסם Recall, גם במחיר הרבה התראות-שווא. אותו היגיון חל על גילוי-הונאות בכרטיסי-אשראי או על מערכות-אבטחה שמחפשות איום נדיר: פספוס מקרה אמיתי אחד עלול לעלות הרבה יותר מכמה בדיקות מיותרות.
שימוש בפועל: multiclass ו'שיעור-חיוביים-אמיתיים'
בעיות עם יותר משתי מחלקות מחושבות באותה שיטה כמו Precision — recall_score מחשב Recall נפרד לכל מחלקה ומאחד לפי average ('macro', 'weighted' או 'micro'). בדוגמה מתיעוד-scikit-learn לשלוש מחלקות (0, 1, 2), עם תיוג-אמת [0, 1, 2, 0, 1, 2] ותחזיות [0, 2, 1, 0, 0, 1], ה-Recall לכל מחלקה בנפרד יוצא [1.0, 0.0, 0.0] — המודל תפס את כל מקרי מחלקה 0, אך אף לא מקרה אחד ממחלקות 1 ו-2 — כך שהממוצע ה'macro' על שלוש המחלקות יוצא נמוך במיוחד, 0.33 בלבד, אף שהמודל 'הצליח' לגמרי במחלקה אחת. באבחון רפואי ובתחומים סטטיסטיים אחרים, אותו מדד בדיוק מכונה 'Sensitivity' או 'שיעור-חיוביים-אמיתיים' (True Positive Rate) — ציר-ה-Y הסטנדרטי בעקומת-ROC, כלי-הערכה נפוץ נוסף להשוואת מודלים על-פני כל ספי-ההחלטה האפשריים, לא רק בנקודת-סף בודדת.