מטריצת הבלבול
חלק מהיחידה למידה מונחית במסלול ה-Machine Learning של Coddy. שיעור 21 מתוך 58.
הדיוק סופר טעויות, ולא את סוגיהן. בבדיקת שפעת, שליחת מטופל חולה לביתו גרועה בהרבה מהתרעת שווא. מטריצת בלבול סופרת כל סוג:
שפעת היא המחלקה החיובית, 1. הטעויות נמצאות מחוץ לאלכסון: חיוביים שגויים (אזעקות שווא) ושליליים שגויים (מקרים שלא זוהו).
from sklearn.metrics import confusion_matrix, ConfusionMatrixDisplay
cm = confusion_matrix(y_test, pred) # נתוני האמת תחילה
print(cm)
print(cm[1, 0]) # שורה 1: חולה בשפעת, עמודה 0: סווג כבריא
ConfusionMatrixDisplay.from_predictions(y_test, pred, display_labels=["healthy", "flu"],
ax=ax, colorbar=False) # ללא סרגל צבעים: הספירות מדברות בעד עצמןזה מדפיס:
[[50 3]
[ 5 42]]
5הפרק הזה עוסק בצמצום התא של המקרים שהוחמצו. הוא מסתיים בבדיקת סקר שכמעט לא מפספסת אף אחד.
אתגר
בינונימצילים מקבלים התראה בבוקר כאשר ייתכן שייווצר זרם סחף. קוד הפתיחה מאמן את מודל ההתראה וממלא את pred עבור בקרים של נתוני הבדיקה (1 פירושו זרם סחף).
- צרו את מטריצת הבלבול והדפיסו את ארבעת המספרים כפי שמוצג למטה.
- ציירו אותה על
ax, עם התוויותcalmו-rip, והציגו אותה.
עבור מודל אחר:
Rips caught: 30
Rips missed: 2
False alarms: 9
Calm days cleared: 59Coddy מתאר את התרשים שלך. הוא אמור להיראות כמו התרשים הזה, שמציג התראה על דליפת צינור:
נסו בעצמכם
import pandas as pd
import matplotlib.pyplot as plt
from sklearn.model_selection import train_test_split
from sklearn.linear_model import LogisticRegression
from sklearn.metrics import confusion_matrix, ConfusionMatrixDisplay
# שורה אחת לכל בוקר בחוף גלישה: 1 ב-rip פירושו שנוצר זרם סחף באותו יום
beach = pd.read_csv("rips.csv")
features = ["wave_height_m", "wave_period_s", "wind_kmh", "tide_change_m"]
X = beach[features]
y = beach["rip"]
X_train, X_test, y_train, y_test = train_test_split(X, y, test_size=0.25, random_state=0)
# התרעת המצילים על זרם סחף
model = LogisticRegression(max_iter=1000)
model.fit(X_train, y_train)
pred = model.predict(X_test)
fig, ax = plt.subplots()
ax.set_title("Rip Current Alerts")
# כתבו את הקוד שלכם למטה
השיעור הזה כולל חידון קצר. התחילו את השיעור כדי לענות עליו ולעקוב אחרי ההתקדמות.
כל השיעורים ביחידה למידה מונחית
תרגלו בעצמכם: קומפיילר Python אונליין