Menu
CoddyTech

הסתברות מותנית

חלק מהיחידה סטטיסטיקה ללמידת מכונה במסלול ה-Machine Learning של Coddy. שיעור 17 מתוך 64.

מחצית מ-10 הודעות האימייל האלה הן ספאם. אבל ברגע שיודעים שלהודעת אימייל יש קישור, רק ההודעות עם הקישור חשובות:

10 הודעות אימייל כתאים בשתי קבוצות. מסגרת מסמנת את 4 הודעות האימייל עם קישור, 3 מהן ספאם; 6 ההודעות ללא קישור כוללות 2 הודעות ספאם

החלק היחסי בתוך הקבוצה הזאת הוא ההסתברות המותנית של ספאם בהינתן קישור, 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

התנאי שכבר מוכר לך מופיע מתחת לקו: מחלקים בו. מסנן ספאם פועל כך: הסיכוי לספאם בהינתן המילים שבאימייל.

challenge icon

אתגר

בינוני

שוק תיעד 50 ימים בקובץ mornings.csv: את sky בבוקר (clear, cloudy או foggy) ואת rain, שערכו yes אם ירד גשם מאוחר יותר. איזה מצב שמיים הוא האזהרה הטובה ביותר?

  1. עבור כל מצב שמיים ב-skies, הדפיסו את הסיכוי לגשם בהינתן אותו מצב שמיים.
  2. הדפיסו את הסיכוי לגשם ביום כלשהו.
  3. הדפיסו את הרמז הטוב ביותר: מצב השמיים עם הסיכוי הגבוה ביותר.

עבור רישום קצר יותר, עם 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"]

# כתבו את הקוד שלכם למטה
quiz iconבחנו את עצמכם

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

כל השיעורים ביחידה סטטיסטיקה ללמידת מכונה

תרגלו בעצמכם: קומפיילר Python אונליין