סיכום: בדיקת סקר
חלק מהיחידה למידה מונחית במסלול ה-Machine Learning של Coddy. שיעור 26 מתוך 58.
אתגר
בינוניזוכר את תא המקרים שהוחמצו שבו נפתח הפרק הזה? מרפאה סורקת דגימות רקמה כדי לזהות סרטן, ודגימה ממאירה שהוחמצה היא הטעות הגרועה ביותר. התוכנית קוראת את ערך ה-recall שהמרפאה צריכה; קוד הפתיחה טוען את הדגימות ומבצע להן קנה מידה (1 פירושו ממאיר) ומציין את thresholds, מהמחמיר ביותר תחילה.
- אמן רגרסיה לוגיסטית והדפס את ה-AUC שלה.
- מצא את הסף הראשון שבו ה-recall מגיע לערך הנדרש.
- בסף הזה, הדפס את הספירות ואת ה-precision כפי שמוצג למטה.
עבור מרפאה אחרת ו-0.9:
AUC: 0.981
Threshold: 0.4
Caught 47 of 51 malignant samples
False alarms: 2
Precision: 0.959נסו בעצמכם
from sklearn.datasets import load_breast_cancer
from sklearn.model_selection import train_test_split
from sklearn.preprocessing import StandardScaler
from sklearn.linear_model import LogisticRegression
from sklearn.metrics import roc_auc_score, recall_score, precision_score, confusion_matrix
# שיעור הזיהוי הנדרש למרפאה, למשל 0.95
needed = float(input())
# דגימות רקמה: 1 ב-y פירושו ממאיר, המקרה שבדיקת הסקר חייבת לזהות
cancer = load_breast_cancer()
X = cancer.data
y = 1 - cancer.target
X_train, X_test, y_train, y_test = train_test_split(X, y, test_size=0.25, random_state=0, stratify=y)
scaler = StandardScaler()
X_train = scaler.fit_transform(X_train)
X_test = scaler.transform(X_test)
# ערכי סף לבדיקה, מהמחמיר ביותר תחילה
thresholds = [0.5, 0.4, 0.3, 0.2, 0.1, 0.05]
# כתבו את הקוד שלכם למטה
כל השיעורים ביחידה למידה מונחית
תרגלו בעצמכם: קומפיילר Python אונליין