Menu
CoddyTech

תרשימי שאריות

חלק מהיחידה למידה מונחית במסלול ה-Machine Learning של Coddy. שיעור 14 מתוך 58.

ציון טוב יכול להסתיר צורה שגויה. הקו הזה מקבל ציון R בריבוע של 0.82 על בצק שתופח, ובכל זאת השאריות שלו יוצרות קשת:

משמאל: גובה הבצק לאורך שעות, עולה במהירות ואז מאט, עם קו התאמה ישר, R בריבוע 0.82. מימין: השאריות ביחס לתחזיות עולות מ־-1.3 ל־+0.7 ואז יורדות חזרה ל־-0.7, ויוצרות קשת סביב קו האפס המקווקו

התרשים הימני הוא תרשים שאריות: כל שארית, הערך בפועל פחות הערך החזוי, מול התחזית שלה, עם קו בגובה 0:

residuals = y_test - pred
fig, ax = plt.subplots()
ax.scatter(pred, residuals)
ax.axhline(0, color="gray", linestyle="--")
plt.show()

שאריות תקינות מפוזרות כמו רעש סביב 0. דפוס פירושו שהמודל מפספס משהו: כאן, שהעלייה מואטת.

עם כמה מאפיינים, הציגו גם את השאריות מול כל מאפיין: זה שיוצר קשת מסתיר את העקומה.

challenge icon

אתגר

בינוני

בית ספר לנהיגה התאים קו ל־80 בדיקות בלימה: speed_kmh ו־braking_m. קוד הפתיחה שומר את התחזיות לבדיקה ב־pred ונותן שם לתרשים.

  1. חשב את השאריות.
  2. צור תרשים פיזור שלהן מול התחזיות, מעל קו אפור מקווקו ב־0, ואז הצג אותו.

האם הקו מפספס עקומה? בצד שמאל הוא אפילו חוזה מרחק בלימה שלילי.

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

תרשים שאריות שכותרתו קו תקין: עשרים נקודות מפוזרות ללא דפוס, מעל ומתחת לקו מקווקו ב־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)")

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

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

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

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