בקטע הקודם הוצגה קבוצה של מדדי מודל, שכולם מחושבים לפי כערך סף של סיווג יחיד. אבל אם רוצים להעריך של איכות המודל בכל ערכי הסף האפשריים, נדרשים כלים שונים.
עקומה מאפיינת בהפעלת מקלט (ROC)
עקומת ה-ROC הוא ייצוג חזותי של ביצועי המודל בכל ערכי הסף. הגרסה הארוכה של השם, מאפיין הפעלת המקלט, כוללת החזקה מגלאי רדאר במלחמת העולם השנייה.
את עקומת ROC נוצרת על ידי חישוב השיעור החיובי האמיתי (TPR) ושיעור חיובי השגוי (FPR) בכל סף אפשרי (בפועל, במרווחי זמן נבחרים), ולאחר מכן הצגת tPR בגרף על פני FPR. מודל מושלם, שבסף מסוים יש TPR של 1.0 ו-FPR של 0.0, שמיוצגים על ידי נקודה שמיוצגת על ידי (0, 1) אם המערכת מתעלמת מכל שאר ערכי הסף, או שהם מתקיימים באופן הבא:
![איור 1. תרשים של TPR (ציר y) מול FPR (ציר ה-x) שמציג
של מודל מושלם: קו בין (0,1) ל-(1,1).](https://developers.google.cn/static/machine-learning/crash-course/images/auc_1-0.png?authuser=0000&hl=he)
שטח מתחת לעקומה (AUC)
האזור מתחת לעקומת ROC (AUC) שמייצג את ההסתברות שהמודל, אם תינתן דוגמה חיובית ושלילית באופן אקראי, המערכת תדרג את מספר חיובי גבוה מהערך השלילי.
למודל המושלם שלמעלה, שמכיל ריבוע עם צלעות באורך 1, יש שטח מתחת לעקומה (AUC) של 1.0. כלומר, יש סבירות של 100% המודל ידרג נכון דוגמה חיובית שנבחרה באופן אקראי, במיקום גבוה יותר דוגמה שלילית שנבחרה באופן אקראי. במילים אחרות, בחינת ההתפשטות את הנקודות הבאות, AUC נותנת את ההסתברות שהמודל ימקם שנבחר באופן אקראי מימין למעגל שנבחר באופן אקראי, ללא תלות שבו מוגדר הסף.
במונחים קונקרטיים יותר, מסווג ספאם באמצעות AUC מ-1.0 תמיד מקצה להודעת ספאם אקראית סבירות גבוהה יותר ספאם מאשר אימייל לגיטימי אקראי. הסיווג בפועל של כל רכיב האימייל תלוי בסף שבוחרים.
עבור מסווג בינארי, מודל שמבצע ניחושים אקראיים בדיוק כמו גם ניחושים אקראיים למטילים יש ROC, שהם קו אלכסוני מ-0,0 עד (1,1). ה-AUC הוא 0.5, שמייצג סבירות של 50% לדירוג נכון של תוצאה חיובית אקראית דוגמה שלילית.
בדוגמה של מסווג הספאם, מסווג ספאם עם AUC של 0.5 מקצה לשליחת הודעת ספאם אקראית, יש סבירות גבוהה יותר להיות ספאם מאשר הודעת ספאם אקראית לשלוח אימייל לגיטימי רק בחצי מהזמן.
![איור 2. תרשים של TPR (ציר y) מול FPR (ציר ה-x) שמציג
ביצועים של ניחוח אקראי של 50-50: קו אלכסוני מ-(0,0)
עד (1,1).](https://developers.google.cn/static/machine-learning/crash-course/images/auc_0-5.png?authuser=0000&hl=he)
(אופציונלי, מתקדם) עקומת זיכרון מדויקת
AUC ו-ROC פועלים היטב להשוואת מודלים כאשר מערך הנתונים הוא בערך את האיזון בין השיעורים. כשמערך הנתונים לא מאוזן, יש חזרה מדויקת והשטח שמתחת לעקומות האלה עשוי לספק השוואה טובה יותר תצוגה חזותית של ביצועי המודל. עקומות זכירת דיוק נוצרות על ידי התאמה מדויקת על ציר ה-Y וזכירה על ציר ה-X על פני כל במחירי סף.
![דוגמה לעקומה של זכירת מדויקת עם עקומה קמורה למטה מ- (0,1)
עד (1,0)](https://developers.google.cn/static/machine-learning/crash-course/images/prauc.png?authuser=0000&hl=he)
AUC ו-ROC לבחירת מודל וסף
AUC הוא מדד שימושי להשוואת הביצועים של שני מודלים שונים, כל עוד מערך הנתונים מאוזן בערך. (ראו עקומה מדויקת של זיכרון, למעלה, למערכי נתונים לא מאוזנים.) המודל שיש לו שטח גדול יותר מתחת באופן כללי, העקומה היא הטובה יותר.
![איור 3.א. תרשים ROC/AUC של מודל עם AUC=0.65.](https://developers.google.cn/static/machine-learning/crash-course/images/auc_0-65.png?authuser=0000&hl=he)
![איור 3.ב. תרשים ROC/AUC של מודל עם AUC=0.93.](https://developers.google.cn/static/machine-learning/crash-course/images/auc_0-93.png?authuser=0000&hl=he)
הנקודות בעקומת ROC הקרובה ביותר ל-(0,1) מייצגות טווח של עם ערכי הסף עם הביצועים הטובים ביותר למודל הנתון. כפי שהסברנו ב סכומי סף, מטריצה של בלבול וגם בחירת מדדים ואפשרויות פשרות הסף שתבחרו תלוי במדד שהכי חשוב לכם הספציפי לתרחיש לדוגמה. נבחן את הנקודות א', ב' וג' בדוגמה הבאה שכל אחד מהם מייצג סף:
![איור 4. עקומת ROC של AUC=0.84 שמציגה שלוש נקודות
החלק הקמור של העקומה הקרובה ביותר ל-(0,1) שמתויגים כ-A, B, C לפי הסדר.](https://developers.google.cn/static/machine-learning/crash-course/images/auc_abc.png?authuser=0000&hl=he)
אם תוצאות חיוביות מוטעות (התראות שווא) יקרות מאוד, אולי הגיוני לבחור סף שנותן שיעור FPR נמוך יותר, כמו זה שבנקודה A, גם אם TPR הוא מצומצם. ולהפך, אם תוצאות חיוביות מוטעות הן זולות (להחמיץ תוצאות חיוביות אמיתיות) יקר מאוד, את הסף לנקודה ג', מגדיל את TPR, עשוי להיות עדיף. אם העלויות שוות בערך, נקודה B יכול להציע את האיזון הטוב ביותר בין TPR ל-FPR.
הנה עקומת ה-ROC של הנתונים שראינו קודם:
תרגיל: בדקו את ההבנה שלכם
![עקומת ROC המתמשכת למעלה ולאחר מכן ימינה מ- (0,0) אל
(1,1). בעקומה יש ערך AUC של 0.77.](https://developers.google.cn/static/machine-learning/crash-course/images/auc_0-77.png?authuser=0000&hl=he)
![עקומת ROC שנמצאת בערך בקו ישר בין (0,0) עד
(1,1), עם כמה זיגזג. ערך AUC של העקומה הוא 0.508.](https://developers.google.cn/static/machine-learning/crash-course/images/auc_0-508.png?authuser=0000&hl=he)
![עקומת ROC שזזה למעלה וימינה מ-0,0 ל-(1,1).
ערך AUC של העקומה הוא 0.623.](https://developers.google.cn/static/machine-learning/crash-course/images/auc_0-623.png?authuser=0000&hl=he)
![עקומת ROC המתמשכת ימינה ולאחר מכן כלפי מעלה
(0,0) עד (1,1). בעקומה יש ערך AUC של 0.31.](https://developers.google.cn/static/machine-learning/crash-course/images/auc_0-31.png?authuser=0000&hl=he)
![עקומת ROC המתמשכת ימינה ולאחר מכן כלפי מעלה
(0,0) עד (1,1). בעקומה יש ערך AUC של 0.32.](https://developers.google.cn/static/machine-learning/crash-course/images/auc_0-32.png?authuser=0000&hl=he)
![עקומת ROC שנמצאת בערך קו ישר מ
(0,0) עד (1,1), עם כמה זיגזג. לעקומה יש
AUC מתוך 0.508.](https://developers.google.cn/static/machine-learning/crash-course/images/auc_0-508.png?authuser=0000&hl=he)
![עקומת ROC היא קו ישר אלכסוני
(0,0) עד (1,1). בעקומה יש ערך AUC של 0.5.](https://developers.google.cn/static/machine-learning/crash-course/images/auc_0-5.png?authuser=0000&hl=he)
![עקומת ROC שמורכבת משני קווים מאונכים: אנכי
קו אופקי מ-(0,0) עד (0,1) וקו אופקי מ-(0,1) עד (1,1).
עקומה זו בעלת ערך AUC של 1.0.](https://developers.google.cn/static/machine-learning/crash-course/images/auc_1-0.png?authuser=0000&hl=he)
(אופציונלי, מתקדם) שאלת בונוס
נסו לדמיין מצב שבו עדיף לאפשר קצת ספאם להגיע בתיבת הדואר הנכנס מאשר לשלוח הודעת אימייל חיונית לעסק לתיקיית הספאם. היתרה שאימן מסווג ספאם למצב הזה שבו הסיווג החיובי ספאם והסיווג השלילי הוא לא ספאם. איזו מהנקודות הבאות האם עדיף להשתמש בעקומת ה-ROC עבור המסווג שלכם?
![עקומת ROC של AUC=0.84 שמציגה שלוש נקודות בחלק הקמור של
את העקומה שקרובה ל-(0,1). נקודה א' נמצאת בערך
(0.25, 0.75). נקודה ב' נמצאת בערך (0.30, 0.90), והיא
את הנקודה שממקסמת את TPR תוך מזעור ה-FPR. נקודה
C הוא בערך (0.4, 0.95).](https://developers.google.cn/static/machine-learning/crash-course/images/auc_abc.png?authuser=0000&hl=he)