תרשימי שאריות
חלק מהיחידה למידה מונחית במסלול ה-Machine Learning של Coddy. שיעור 14 מתוך 58.
ציון טוב יכול להסתיר צורה שגויה. הקו הזה מקבל ציון R בריבוע של 0.82 על בצק שתופח, ובכל זאת השאריות שלו יוצרות קשת:
התרשים הימני הוא תרשים שאריות: כל שארית, הערך בפועל פחות הערך החזוי, מול התחזית שלה, עם קו בגובה 0:
residuals = y_test - pred
fig, ax = plt.subplots()
ax.scatter(pred, residuals)
ax.axhline(0, color="gray", linestyle="--")
plt.show()שאריות תקינות מפוזרות כמו רעש סביב 0. דפוס פירושו שהמודל מפספס משהו: כאן, שהעלייה מואטת.
עם כמה מאפיינים, הציגו גם את השאריות מול כל מאפיין: זה שיוצר קשת מסתיר את העקומה.
אתגר
בינוניבית ספר לנהיגה התאים קו ל־80 בדיקות בלימה: speed_kmh ו־braking_m. קוד הפתיחה שומר את התחזיות לבדיקה ב־pred ונותן שם לתרשים.
- חשב את השאריות.
- צור תרשים פיזור שלהן מול התחזיות, מעל קו אפור מקווקו ב־0, ואז הצג אותו.
האם הקו מפספס עקומה? בצד שמאל הוא אפילו חוזה מרחק בלימה שלילי.
תרשים של קו תקין, המבוסס על נתונים אחרים, נראה כך:
Coddy מתאר את התרשים שלך.
נסו בעצמכם
import pandas as pd
import matplotlib.pyplot as plt
from sklearn.model_selection import train_test_split
from sklearn.linear_model import LinearRegression
brakes = pd.read_csv("braking.csv")
X_train, X_test, y_train, y_test = train_test_split(brakes[["speed_kmh"]], brakes["braking_m"], test_size=0.25, random_state=0)
model = LinearRegression()
model.fit(X_train, y_train)
pred = model.predict(X_test)
fig, ax = plt.subplots()
ax.set_title("Braking Line Check")
ax.set_xlabel("Predicted braking distance (m)")
ax.set_ylabel("Residual (m)")
# כתבו את הקוד שלכם למטה
השיעור הזה כולל חידון קצר. התחילו את השיעור כדי לענות עליו ולעקוב אחרי ההתקדמות.
כל השיעורים ביחידה למידה מונחית
תרגלו בעצמכם: קומפיילר Python אונליין