Menu
CoddyTech

אישור אשראי

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

בנק שיתופי מפעיל כרטיס אשראי של חנות. בקובץ cards.csv, 79 מתוך 320 בעלי הכרטיס פיגרו בתשלומים במהלך השנה הראשונה:

היסטוגרמות צפיפות של יחס החוב עבור 241 בעלי כרטיס שעמדו בתשלומים, בעיקר בין 0.1 ל־0.35, ועבור 79 שפיגרו, כשההתפלגות זזה ימינה לכיוון 0.3 עד 0.8, עם חפיפה רחבה

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

הכלל שלו: לתפוס חלק מוגדר מראש מהמאחרים בתשלומים בעתיד. בחרו את הסף על שורות האימות, ואז העריכו אותו פעם אחת על שורות הבדיקה.

challenge icon

אתגר

קשה

התוכנית קוראת את שיעור ההיזכרות שהבנק רוצה, target. קוד הפתיחה מפרט את העמודות ואת thresholds, מהגבוה לנמוך.

  1. הפרידו רבע מהנתונים לבדיקה באופן מרובד, ואז רבע מהנתונים שנותרו לאימות באופן מרובד; בשני המקרים השתמשו ב-random_state=0.
  2. אמנו צינור על שורות האימון שנותרו: השלימו ערכים חסרים במספרים באמצעות החציון ותקננו אותם, בצעו קידוד one-hot לעמודה home, והשתמשו ברגרסיה לוגיסטית.
  3. בנתוני האימות, בחרו את הסף הראשון שבו שיעור ההיזכרות מגיע ל-target.
  4. הדפיסו אותו, ואז הציגו כיצד מתפקדות שורות הבדיקה בסף הזה, כמו למטה (3 ספרות אחרי הנקודה).

עבור בנק אחר ו-0.7:

Threshold: 0.3 (validation recall 0.733)
Test: caught 15 of 21 late payers, 12 false alarms
Precision: 0.556

נסו בעצמכם

import pandas as pd
from sklearn.model_selection import train_test_split
from sklearn.compose import ColumnTransformer
from sklearn.pipeline import make_pipeline
from sklearn.impute import SimpleImputer
from sklearn.preprocessing import StandardScaler, OneHotEncoder
from sklearn.linear_model import LogisticRegression
from sklearn.metrics import recall_score, precision_score, confusion_matrix

cards = pd.read_csv("cards.csv")
numbers = ["age", "income_k", "debt_ratio", "years_at_job", "late_payments", "card_limit_k"]
text = ["home"]
X = cards[numbers + text]
y = cards["fell_behind"]

target = float(input())
thresholds = [0.5, 0.45, 0.4, 0.35, 0.3, 0.25, 0.2, 0.15, 0.1]

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

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

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

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