התאמת ריבועים פחותים
חלק מהיחידה סטטיסטיקה ללמידת מכונה במסלול ה-Machine Learning של Coddy. שיעור 36 מתוך 64.
אפשר להמשיך לנחש קווים בלי סוף. np.polyfit(x, y, 1) מוצאת מיד את הקו הטוב ביותר: הקו שסכום השאריות בריבוע שלו הוא הקטן ביותר. הנה עומק השלג בסערה:
hours = np.array([1, 2, 3, 5, 6])
depth = np.array([14, 22, 35, 52, 61])
slope, intercept = np.polyfit(hours, depth, 1)
print(np.round(slope, 2), np.round(intercept, 2))הפקודה הזו מדפיסה 9.5 4.5: כ־9.5 ס"מ יותר שלג בכל שעה, ו־4.5 ס"מ בשעה 0. אף קו אחר לא מפספס בפחות:
ה־1 מבקש קו ישר, ו־x מופיע ראשון. זוהי רגרסיה ליניארית, המודל הראשון שתאמנו ביחידה 3.
אתגר
בינונייצרנית רחפנים רוצה לדעת איזו מדידה מנבאת בצורה הטובה ביותר את זמן הטיסה. הקובץ drones.csv מכיל 15 טיסות: payload_g, wind_kmh ו־flight_min. קוד הפתיחה טוען אותו ומגדיר את ssr(x, y, slope, intercept).
- עבור כל עמודה ב־
columns, התאם את הקו שמנבא אתflight_minלפיה. - הדפס את המשוואה שלה ואת SSR כפי שמוצג להלן: שיפוע עם 3 ספרות אחרי הנקודה העשרונית, חיתוך ו־SSR עם 2.
- הדפס את העמודה עם ערך ה־SSR הנמוך יותר.
עבור רחפן אחר:
payload_g: flight_min = -0.001 * payload_g + 21.55, SSR 164.94
wind_kmh: flight_min = -0.481 * wind_kmh + 28.13, SSR 9.1
Better predictor: wind_kmhנסו בעצמכם
import numpy as np
import pandas as pd
# מחזירה את סכום ריבועי השאריות של הישר slope * x + intercept (שיעור 35)
def ssr(x, y, slope, intercept):
return ((y - (slope * x + intercept)) ** 2).sum()
drones = pd.read_csv("drones.csv")
columns = ["payload_g", "wind_kmh"]
# כתבו את הקוד שלכם למטה
השיעור הזה כולל חידון קצר. התחילו את השיעור כדי לענות עליו ולעקוב אחרי ההתקדמות.
כל השיעורים ביחידה סטטיסטיקה ללמידת מכונה
1מרכז ופיזור
ממוצע וחציוןאחוזונים ורבעוניםשונות וסטיית תקןמדגם או אוכלוסייה?הערך השכיח ביותרסיכום: זמני משלוח4מדגמים ואוכלוסיות
אוכלוסייה ומדגםממוצעי מדגמים משתניםהתפלגות הדגימהמדגמים גדולים יותר, פחות רעשסיכום: סקר בעיירה7קווי מגמה
שאריותהתאמת ריבועים פחותיםשרטוט קו ההתאמהחיזוי באמצעות קועד כמה ההתאמה טובה?סיכום: שעות תרגול5ערכים חריגים
תרשימי קופסהכלל הטווח הבין־רבעוני (IQR)כלל ציון Zטיפול בערכים חריגיםסיכום: תקלות בחיישניםתרגלו בעצמכם: קומפיילר Python אונליין