מטריקס בלבול בלמידת מכונה: הפיתרון החד-פעמי שלך



מאמר זה מתמקד במטריקס בלבול, שהוא אחד ההיבטים החשובים ביותר בכל אלגוריתם למידת מכונה המשמש להערכת דיוקו.

ב , בדרך כלל יש לנו שני סוגים שונים של מקרי שימוש, , ו בְּעָיָה. מטריקס בלבול מסייע בחישוב הדיוק של מודל הסיווג המסייע בעקיפין לתיאור ביצועיו של מודל הסיווג. זהו השלב החשוב ביותר בכל הנוגע להערכת מודל. אעסוק בנושאים הבאים במאמר זה:

1. מהי מטריקס בלבול?





2. דיוק ורכיבים של מטריקס בלבול

3. דיוק, זיכרון ומדידת F



מה זה בובה ב- devops

4. יצירת מטריקס בלבול באמצעות פייתון ו- Sklearn

מהי מטריקס בלבול?

מטריצת בלבול היא סיכום ההשוואה של התוצאות החזויות והתוצאות בפועל בכל מקרה של שימוש בבעיות סיווג. סיכום ההשוואה הכרחי ביותר לקביעת ביצועי המודל לאחר אימונו עם כמה נתוני אימון. Accuracy-Confusion-Matrixבמקרה של שימוש בסיווג בינארי, מטריצת בלבול היא מטריצה ​​של 2 × 2 שהיא כמוצג להלן
ערך סוג 1 צפוי למשל: 1 ערך סוג 2 חזוי למשל: 0
ערך סוג 1 בפועל

למשל: 1

TP (נכון חיובי) FN (שלילי כוזב)
ערך סוג 2 בפועל



למשל: 0

FP (False Positive) TN (שלילי אמיתי)

מהאיור לעיל:
יש לנו,

  • ערך מחלקה 1 בפועל = 1 הדומה לערך חיובי בתוצאה בינארית.
  • ערך Class 2 בפועל = 0 הדומה לערך שלילי בתוצאה הבינארית.

אינדקס הצד השמאלי של מטריצת הבלבול מציין בעצם את הערכים האמיתיים והעמודה העליונה מציינת את הערכים החזויים.

ישנם רכיבים שונים שקיימים כשאנחנו יוצרים מטריצת בלבול. הרכיבים מוזכרים להלן

חיובי (P): התוצאה החזויה היא חיובית (דוגמה: תמונה היא חתול)

שלילי (N): התוצאה החזויה היא שלילית (דוגמה: תמונות אינו חתול)

חיובי אמיתי (TP): כאן TP בעצם מציין את החיזוי והערכים בפועל הוא 1 (נכון)

שלילי אמיתי (TN): כאן TN מציין את החיזוי והערך בפועל הוא 0 (שקר)

שלילי כוזב (FN): כאן FN מציין שהערך החזוי הוא 0 (שלילי) והערך האמיתי הוא 1. כאן שני הערכים אינם תואמים. מכאן שהוא שלילי כוזב.

חיובי כוזב (FP): כאן FP מציין שהערך החזוי הוא 1 (חיובי) והערך בפועל הוא 0. כאן שוב שני הערכים אינם תואמים. מכאן שהוא חיובי כוזב.

דיוק ורכיבים של מטריקס בלבול

לאחר יצירת מטריצת הבלבול ואנחנו קובעים את כל ערכי הרכיבים, זה הופך להיות די קל לחשב את הדיוק. אז בואו נסתכל על הרכיבים כדי להבין זאת טוב יותר.
  • דיוק סיווג

מהנוסחה שלעיל, סכום ה- TP (נכון חיובי) וה- TN (נכון שלילי) הם התוצאות החזויות הנכונות. מכאן שכדי לחשב את הדיוק באחוזים, אנו מחלקים עם כל שאר המרכיבים. עם זאת, ישנן כמה בעיות ברמת הדיוק ואיננו יכולים לתלות בכך לחלוטין.

הבה נבחן כי מערך הנתונים שלנו אינו מאוזן לחלוטין. בתרחיש זה, דיוק של 98% יכול להיות טוב או רע בהתבסס על הצהרת הבעיה. לפיכך יש לנו עוד כמה מונחי מפתח שיעזרו לנו להיות בטוחים לגבי הדיוק שאנו מחשבים. התנאים הם כמפורט להלן:

  • TPR (שיעור חיובי אמיתי) או רגישות:

שיעור חיובי אמיתי המכונה גם רגישות מודד את אחוז החיובי האמיתי ביחס לסך החיובי האמיתי המצוין על ידי (TP + FN)

ערך סוג 1 צפוי למשל: 1 ערך סוג 2 חזוי למשל: 0 סה'כ
ערך סוג 1 בפועל

למשל: 1

TP (נכון חיובי) FN (שלילי כוזב) סך הכל חיובי בפועל
ערך סוג 2 בפועל

למשל: 0

FP (False Positive)TN (שלילי אמיתי)סך הכל שלילי בפועל
TPR = נכון חיובי / (נכון חיובי + שלילי כוזב
  • TNR (שיעור שלילי אמיתי) או ספציפיות:

שיעור או ספציפיות שלילית אמיתית מודדים את חלקם השלילי בפועל ביחס לסך הכל השלילי

ערך סוג 1 צפוי למשל: 1 ערך סוג 2 חזוי למשל: 0 סה'כ
ערך סוג 1 בפועל

למשל: 1

TP (נכון חיובי)FN (שלילי כוזב)סך הכל חיובי בפועל
ערך סוג 2 בפועל

למשל: 0

FP (False Positive) TN (שלילי אמיתי) סך הכל שלילי בפועל

TNR = נכון שלילי / (נכון שלילי + חיובי כוזב)

  • שיעור חיובי כוזב (FPR):

שיעור חיובי כוזב הוא אחוז התוצאות החזויות החזויות (FP) לסך כל התוצאות החיוביות החזויות (TP + FP).

ערך סוג 1 צפוי למשל: 1 ערך סוג 2 חזוי למשל: 0
ערך סוג 1 בפועל EG: 1 TP (נכון חיובי) FN (שלילי כוזב)
ערך מחלקה 2 בפועל למשל: 0 FP (False Positive) TN (שלילי אמיתי)
סך כל החיובי החזוי סך כל השלילי החזוי
FPR = False Positive / (נכון חיובי + חיובי כוזב)
  • שיעור שלילי כוזב (FNR):

שיעור שלילי כוזב הוא אחוז המספר החזוי שלילי כוזב (FP) לסך כל התוצאות השליליות החזויות (TN + FN).

ערך סוג 1 צפוי למשל: 1 ערך סוג 2 חזוי למשל: 0
ערך סוג 1 בפועל EG: 1TP (נכון חיובי) FN (שלילי כוזב)
ערך מחלקה 2 בפועל למשל: 0FP (False Positive) TN (שלילי אמיתי)
סך כל החיובי החזוי סך כל השלילי החזוי
FNR = False Negative / (False Negative + True True)

דיוק, זיכרון ומדידת F

  • לִזכּוֹר:

זיכרון דומה לשיעור חיובי אמיתי וזה היחס בין המספר הכולל של הערכים החיוביים החזויים כהלכה (TP) לכל הערכים החיוביים.

  • דיוק:

הדיוק בעצם מציין את כל הנקודות שהמודל חזה לחיוב ואיזה אחוז מהן בפועל חיוביות.

דיוק וזכירה הן תוצאות מדדים המתמקדות בכיתה החיובית כפי שמוצג מהנוסחאות לעיל.

  • מידה F

אז F-Measure היא טכניקה המשלבת הן את טכניקת Precision והן Recall והיא משתמשת בממוצע הרמוני במקום הממוצע האריתמטי הרגיל, שבגללו נענשים הערכים הקיצוניים. מדד F נקרא גם ציון F1 וניתן על ידי הנוסחה הבאה.

הבה נבחן דוגמה ונראה כיצד אנו יכולים לחשב את הדיוק, הדיוק, ההיזכרות וציון ה- F1.

N = 165 צפוי כן צפוי NO
בפועל כן TP = 150 FN = 10
NO נוכחי FP = 20 TN = 100
    • דיוק = (TP + TN) / (TP + TN + FP + FN) = (150 + 100) / (150 + 100 + 20 + 10) = 0.89
    • נזכר = TP / (TP + FN) = 150 / (150 + 10) = 0.93
    • דיוק: TP / (TP + FP) = 150 / (150 + 20) = 0.88

  • מדד F = (2 * זיכרון * דיוק) / (זיכרון + נוכחות) = (2 * 0.93 * 0.88) / (0.93 + 0.88) = 0.90

יצירת מטריצת בלבול באמצעות Python ו- Sklearn

כעת נראה דוגמה כיצד אנו יכולים ליצור מטריצת בלבול באמצעות פיתון יחד עם ספריית sklearn.

אחד. בתחילה ניצור רשימה כלשהי של הנתונים בפועל והנחזה לבדוק את הדיוק כפי שמוצג להלן

# תסריט פייתון ליצירת מטריצות בלבול. actual_data = [1, 1, 0, 1, 0, 0, 1, 0, 0, 0,1,0,1] predicted_data = [0, 1, 1, 1, 0, 0, 1, 0, 1, 0,1,0,1]

2. עלינו לייבא את מטריצת הבלבול מספריית sklearn כמוצג להלן:

מ- sklearn.metrics יבוא confusion_matrix

3. לאחר מכן, ניצור את מטריצת הבלבול כמוצג להלן:

final_results = confusion_matrix (actual_data, predicted_data)

ארבע. כעת נוכל לחשב את הדיוק על ידי ייבוא ​​הספרייה כמוצג להלן:

מ- sklearn.metrics ייבוא ​​דיוק_סקור דיוק = דיוק_סקור (נתונים_ בפועל, נתונים חזויים)

5. לבסוף, אנו מחשבים את ציון ה- F1 או את ה- F- מידה כמוצג להלן:

מ- sklearn.metrics דוח סיווג סיווג_דיווח = סיווג_דוח (נתונים_אמיתיים, נתונים חזויים)

להלן הקוד השלם:

actual_data = [1, 1, 0, 1, 0, 0, 1, 0, 0, 0,1,0,1] predicted_data = [0, 1, 1, 1, 0, 0, 1, 0, 1, 0,1,0,1] מ- sklearn.metrics יבוא confusion_matrix final_results = confusion_matrix (actual_data, predicted_data) הדפס (final_results) מ- sklearn.metrics יבוא דיוק_סקור דיוק = דיוק_סקור (נתונים_מעשית, נתונים חזויים) מ- sklearn.metrics ייבוא ​​סיווג_דוח דוח = סיווג_דיווח ( נתונים_אמיתיים, נתונים חזויים) הדפסה (דיוק) הדפסה (דוח)

matrix

אז, עם זה, אנו מגיעים לסוף מאמר זה. אני מקווה שכל הבלבול שלך לגבי מטריקס הבלבול ייפתר כעת.

אדוריקה עוזר לך לצבור מומחיות באלגוריתמים שונים של למידת מכונה כגון רגרסיה, אשכולות, עצים להחלטה, יער אקראי, Naive Bayes ו- Q-Learning. למידת מכונה זו באמצעות אימון פיתון חושפת אתכם למושגים של סטטיסטיקה, סדרות זמן ושיעורים שונים של אלגוריתמי למידת מכונה כמו אלגוריתמי פיקוח, ללא פיקוח וחיזוק. במהלך קורס הסמכת מדע הנתונים תפתור מחקרי מקרה אמיתיים בנושא מדיה, בריאות, מדיה חברתית, תעופה, משאבי אנוש.