עד כמה ההתאמה טובה?
חלק מהיחידה סטטיסטיקה ללמידת מכונה במסלול ה-Machine Learning של Coddy. שיעור 39 מתוך 64.
לכל ענן יש קו, ולכן צריך ציונים להתאמות. מלח תיעד את מהירויות הרוח והסירה: השוו את סכום ריבועי ההפרשים של הקו לזה של הממוצע, הניחוש העצל ביותר:
R בריבוע הוא החלק מהפיזור שהקו מסביר:
wind = np.array([6, 8, 10, 12, 15, 18])
boat = np.array([3.1, 4.4, 4.9, 6.2, 6.8, 8.1])
slope, intercept = np.polyfit(wind, boat, 1)
predicted = slope * wind + intercept
ss_res = ((boat - predicted) ** 2).sum() # ההתאמה: 0.35
ss_tot = ((boat - boat.mean()) ** 2).sum() # הממוצע: 16.23
print(np.round(1 - ss_res / ss_tot, 3))הדבר מדפיס 0.979: הקו מסביר 98% מהפיזור של המהירות. 1 הוא קו מושלם, 0 אינו טוב יותר מהממוצע.
זהו הציון המקובל של מודל שמנבא מספרים. עבור קו מותאם, הוא שווה ל־r בריבוע.
אתגר
בינוניחוות פטריות תיעדה 16 ערוגות גידול בקובץ mushrooms.csv. התוכנית קוראת שם של עמודה, והקוד ההתחלתי מתאים את הקו שמנבא את harvest_kg על סמך העמודה. בדוח שלה דרוש r_squared, שעדיין ריק.
- השלימו את
r_squared(y, predicted)כך שתחזיר את R בריבוע. - בסוף, הדפיסו את הבדיקה: המתאם בין
xל־y, בריבוע, כפול 100, מעוגל לספרה עשרונית אחת.
עבור חווה אחרת והקלט humidity:
humidity explains 27.0% of the harvest variation
Check with r squared: 27.0%נסו בעצמכם
import numpy as np
import pandas as pd
# מחזירה את R בריבוע של התחזיות עבור y
def r_squared(y, predicted):
# כתבו את הקוד שלכם כאן
return 0
beds = pd.read_csv("mushrooms.csv")
column = input()
# אל תשנו את השורות שלהלן
x = beds[column]
y = beds["harvest_kg"]
slope, intercept = np.polyfit(x, y, 1)
predicted = slope * x + intercept
r2 = r_squared(y, predicted)
print(f"{column} explains {np.round(r2 * 100, 1)}% of the harvest variation")
# כתבו את הקוד שלכם למטה
השיעור הזה כולל חידון קצר. התחילו את השיעור כדי לענות עליו ולעקוב אחרי ההתקדמות.
כל השיעורים ביחידה סטטיסטיקה ללמידת מכונה
1מרכז ופיזור
ממוצע וחציוןאחוזונים ורבעוניםשונות וסטיית תקןמדגם או אוכלוסייה?הערך השכיח ביותרסיכום: זמני משלוח4מדגמים ואוכלוסיות
אוכלוסייה ומדגםממוצעי מדגמים משתניםהתפלגות הדגימהמדגמים גדולים יותר, פחות רעשסיכום: סקר בעיירה7קווי מגמה
שאריותהתאמת ריבועים פחותיםשרטוט קו ההתאמהחיזוי באמצעות קועד כמה ההתאמה טובה?סיכום: שעות תרגול5ערכים חריגים
תרשימי קופסהכלל הטווח הבין־רבעוני (IQR)כלל ציון Zטיפול בערכים חריגיםסיכום: תקלות בחיישניםתרגלו בעצמכם: קומפיילר Python אונליין