נניח שיש לכם מודל רגרסיה לוגיסטית לזיהוי אימיילים של ספאם, שמנבא ערך בין 0 ל-1 שמייצג את ההסתברות שאימייל נתון הוא ספאם. תחזית של 0.50 מציינת שיש 50% סיכוי שהאימייל הוא ספאם, תחזית של 0.75 מציינת שיש 75% סיכוי שהאימייל הוא ספאם וכן הלאה.
אתם רוצים לפרוס את המודל הזה באפליקציית אימייל כדי לסנן ספאם לתיקיית אימייל נפרדת. אבל כדי לעשות זאת, צריך להמיר את הפלט המספרי הגולמי של המודל (למשל, 0.75
) לאחת משתי הקטגוריות: 'ספאם' או 'לא ספאם'.
כדי לבצע את ההמרה הזו, בוחרים את הסבירות הסף שנקראת סף סיווג.
דוגמאות עם הסתברות גבוהה מהערך הסף מוקצות להקלאס החיובי, כלומר לקלאס שאתם בודקים (כאן, spam
). דוגמאות עם הסתברות נמוכה יותר מוקצות להקלאס השלילי, כלומר לקלאס החלופי (כאן, not spam
).
כאן מפורט מידע נוסף על סף הסיווג
יכול להיות שתתהו: מה קורה אם הציון הצפוי שווה לסף הסיווג (לדוגמה, ציון של 0.5 כאשר סף הסיווג הוא גם 0.5)? הטיפול במקרה כזה תלוי בהטמעה הספציפית שנבחרה למודל הסיווג. הספרייה Keras תחזה את הכיתה השלילית אם הציון והסף זהים, אבל כלים או מסגרות אחרים עשויים לטפל במקרה הזה בצורה שונה.
נניח שהמודל העניק לכתובת אימייל אחת ציון של 0.99, והוא צופה שיש לה 99% סיכוי להיות ספאם, ולכתובת אימייל אחרת ציון של 0.51, והוא צופה שיש לה 51% סיכוי להיות ספאם. אם תגדירו את סף הסיווג ל-0.5, המודל יסווג את שתי הודעות האימייל כספאם. אם תגדירו את הסף ל-0.95, רק האימייל שקיבל ציון 0.99 יסווג כספאם.
הערך 0.5 עשוי להיראות כסף גבול אינטואיטיבי, אבל הוא לא מומלץ אם העלות של סוג אחד של סיווג שגוי גבוהה יותר מהסוג השני, או אם יש חוסר איזון בין הכיתות. אם רק 0.01% מהודעות האימייל הן ספאם, או אם סימון של הודעות אימייל לגיטימיות כספאם גרוע יותר מאשר לאפשר לספאם להיכנס לתיבת הדואר הנכנס, סימון כספאם של כל מה שהמודל סבור שיש לו סיכוי של 50% לפחות להיות ספאם יניב תוצאות לא רצויות.
מטריצת בלבול
ציון ההסתברות הוא לא המציאות, או האמת המוחלטת. יש ארבע תוצאות אפשריות לכל פלט ממחלק בינאר. בדוגמה של סיווג ספאם, אם פורסים את האמת כעמודות ואת התחזית של המודל כשורות, התוצאה היא הטבלה הבאה שנקראת מטריצת בלבול:
תוצאה חיובית בפועל | ערכים שליליים בפועל | |
---|---|---|
תחזית חיובית | חיובי אמיתי (TP): הודעת אימייל שסווגה כספאם בצורה נכונה. אלו הודעות הספאם שנשלחות באופן אוטומטי לתיקיית הספאם. | חיובי שגוי (FP): הודעת אימייל שאינה ספאם מסווגת באופן שגוי כספאם. אלה הודעות האימייל החוקיות שמגיעות לתיקיית הספאם. |
תחזית שלילי | False negative (FN): הודעת ספאם שסווגה באופן שגוי כ'לא ספאם'. אלו הודעות ספאם שלא מזוהות על ידי מסנן הספאם ויוצאות לתיבת הדואר הנכנס. | True negative (TN): כתובת אימייל שאינה ספאם שסווגה כראוי כלא ספאם. אלה הודעות האימייל החוקיות שנשלחות ישירות לתיבת הדואר הנכנס. |
שימו לב שהסה"כ בכל שורה כולל את כל התחזיות החיוביות (TP + FP) ואת כל התחזיות השליליות (FN + TN), ללא קשר לתקפות. לעומת זאת, הסכום הכולל בכל עמודה מייצג את כל התוצאות החיוביות האמיתיות (TP + FN) ואת כל התוצאות השליליות האמיתיות (FP + TN), ללא קשר לסיווג של המודל.
אם הסכום הכולל של האירועים החיוביים בפועל לא קרוב לסכום הכולל של האירועים השליליים בפועל, מערך הנתונים לא מאוזן. דוגמה למערך נתונים לא מאוזן יכולה להיות קבוצה של אלפי תמונות של עננים, שבהן סוג הענן הנדיר שמעניין אתכם, למשל ענני ערפל, מופיע רק כמה פעמים.
ההשפעה של הסף על תוצאות חיוביות אמיתיות, תוצאות חיוביות שגויות ותוצאות שליליות
ערכי סף שונים בדרך כלל מובילים למספרים שונים של תוצאות חיוביות ושליליות חיוביות ושקריות, ומספר שלילי של true ו-false. הסרטון הבא מסביר למה זה קורה.
אפשר לנסות לשנות את הסף בעצמך.
הווידג'ט הזה כולל שלושה מערכי נתונים לדוגמה:
- נפרדות, שבהן בדרך כלל יש הבחנה טובה בין דוגמאות חיוביות לדוגמאות שליליות, ורוב הדוגמאות החיוביות מקבלות ציונים גבוהים יותר מהדוגמאות השליליות.
- לא מופרדת: מקרים שבהם הרבה דוגמאות חיוביות קיבלו ציונים נמוכים מדוגמאות שליליות, והרבה דוגמאות שליליות קיבלו ציונים גבוהים יותר מדוגמאות חיוביות.
- לא מאוזנת, מכילה רק כמה דוגמאות של המחלקה החיובית.