התקדמות הסוכרת
חלק מהיחידה למידה מונחית במסלול ה-Machine Learning של Coddy. שיעור 55 מתוך 58.
מרפאה לסוכרת קובעת תורים למעקב לפי מידת התקדמות המחלה של כל מטופל במהלך שנה. ביחידה 2, מאפיין אחד סיפר רק חלק מהסיפור:
כעת כל עשר המדידות של load_diabetes נכנסות למודל. על איזה מודל המרפאה צריכה לסמוך, ובכמה נקודות הוא יפספס?
הוא רוצה בחירה הוגנת באמצעות אימות צולב, שגיאות אמינות עבור מטופלים שלא נראו, ובדיקה של השאריות כדי לזהות כל דבר שהמודל מפספס.
אתגר
קשההתוכנית קוראת ערכי אלפא של Ridge אל alphas; קוד הפתיחה מגדיר תרשים עם כותרת.
- הפרידו רבע מהנתונים לבדיקה באמצעות
random_state=0. - חשבו ציונים עבור
LinearRegressionועבורRidgeלכל ערך אלפא, באמצעות CV בן 5 קיפולים על שורות האימון. הדפיסו את ממוצע R squared של כל אחד (3 ספרות אחרי הנקודה העשרונית), ואז את המנצח. - אמנו את המנצח והדפיסו את MAE ואת RMSE שלו על נתוני הבדיקה (ספרה אחת אחרי הנקודה העשרונית), ואת R squared (3 ספרות אחרי הנקודה העשרונית).
- צרו תרשים פיזור של השאריות בנתוני הבדיקה — הערך האמיתי פחות הערך החזוי — מול התחזיות. הוסיפו קו אפס ואז הציגו את התרשים.
עבור מרפאה אחרת וערכי האלפא 0.5 ו-2.0:
Linear: CV R squared 0.472
Ridge 0.5: CV R squared 0.481
Ridge 2.0: CV R squared 0.402
Winner: Ridge 0.5
Test errors: MAE 47.3, RMSE 58.9, R squared 0.414לאחר מכן Coddy מתאר את תרשים השאריות שלך.
נסו בעצמכם
import numpy as np
import matplotlib.pyplot as plt
from sklearn.datasets import load_diabetes
from sklearn.model_selection import train_test_split, cross_val_score
from sklearn.linear_model import LinearRegression, Ridge
from sklearn.metrics import mean_absolute_error, mean_squared_error, r2_score
diabetes = load_diabetes(as_frame=True)
X = diabetes.data
y = diabetes.target
# ערכי ה-alpha של Ridge שיש לנסות
n = int(input())
alphas = []
for i in range(n):
alphas.append(float(input()))
fig, ax = plt.subplots()
ax.set_title("Residuals on Test Patients")
ax.set_xlabel("Predicted progression")
ax.set_ylabel("Residual (true - predicted)")
# כתבו את הקוד שלכם למטה
השיעור הזה כולל חידון קצר. התחילו את השיעור כדי לענות עליו ולעקוב אחרי ההתקדמות.
כל השיעורים ביחידה למידה מונחית
תרגלו בעצמכם: קומפיילר Python אונליין