הסתברות מותנית
חלק מהיחידה סטטיסטיקה ללמידת מכונה במסלול ה-Machine Learning של Coddy. שיעור 17 מתוך 64.
מחצית מ-10 הודעות האימייל האלה הן ספאם. אבל ברגע שיודעים שלהודעת אימייל יש קישור, רק ההודעות עם הקישור חשובות:
החלק היחסי בתוך הקבוצה הזאת הוא ההסתברות המותנית של ספאם בהינתן קישור, P(spam | link). ספרו את שניהם, ואז חלקו בתנאי:
emails = pd.DataFrame({
"link": ["yes", "no", "yes", "no", "no", "no", "yes", "no", "no", "yes"],
"spam": ["yes", "no", "yes", "no", "no", "yes", "no", "no", "yes", "yes"],
})
spam = emails["spam"] == "yes"
link = emails["link"] == "yes"
print(spam.mean())
print((spam & link).sum() / link.sum())זה מדפיס:
0.5
0.75התנאי שכבר מוכר לך מופיע מתחת לקו: מחלקים בו. מסנן ספאם פועל כך: הסיכוי לספאם בהינתן המילים שבאימייל.
אתגר
בינונישוק תיעד 50 ימים בקובץ mornings.csv: את sky בבוקר (clear, cloudy או foggy) ואת rain, שערכו yes אם ירד גשם מאוחר יותר. איזה מצב שמיים הוא האזהרה הטובה ביותר?
- עבור כל מצב שמיים ב-
skies, הדפיסו את הסיכוי לגשם בהינתן אותו מצב שמיים. - הדפיסו את הסיכוי לגשם ביום כלשהו.
- הדפיסו את הרמז הטוב ביותר: מצב השמיים עם הסיכוי הגבוה ביותר.
עבור רישום קצר יותר, עם 2 ספרות אחרי הנקודה העשרונית:
Rain after a clear morning: 0.25
Rain after a cloudy morning: 0.33
Rain after a foggy morning: 0.75
Rain on any day: 0.45
Best clue for rain: foggyנסו בעצמכם
import pandas as pd
days = pd.read_csv("mornings.csv")
skies = ["clear", "cloudy", "foggy"]
# כתבו את הקוד שלכם למטה
השיעור הזה כולל חידון קצר. התחילו את השיעור כדי לענות עליו ולעקוב אחרי ההתקדמות.
כל השיעורים ביחידה סטטיסטיקה ללמידת מכונה
1מרכז ופיזור
ממוצע וחציוןאחוזונים ורבעוניםשונות וסטיית תקןמדגם או אוכלוסייה?הערך השכיח ביותרסיכום: זמני משלוח4מדגמים ואוכלוסיות
אוכלוסייה ומדגםממוצעי מדגמים משתניםהתפלגות הדגימהמדגמים גדולים יותר, פחות רעשסיכום: סקר בעיירה5ערכים חריגים
תרשימי קופסהכלל הטווח הבין־רבעוני (IQR)כלל ציון Zטיפול בערכים חריגיםסיכום: תקלות בחיישנים3הסתברות באמצעות סימולציה
הסתברות כתדירותחוק המספרים הגדוליםסכומי הטלות קוביותערך צפויהסתברות מותניתסיכום: סיכויי דוכן הקוביותתרגלו בעצמכם: קומפיילר Python אונליין