Temerrüt olasılığını tahmin etme

Python ile Kredi Riski Modellemesi

Michael Crabtree

Data Scientist, Ford Motor Company

Lojistik regresyon katsayıları

# Model kesişimi (Intercept)
array([-3.30582292e-10])
# ['loan_int_rate','person_emp_length','person_income'] için katsayılar
array([[ 1.28517496e-09, -2.27622202e-09, -2.17211991e-05]])

Lojistik regresyonla temerrüt olasılığı formülü

# Temerrüt olasılığını hesaplama
int_coef_sum = -3.3e-10 +
    (1.29e-09 * loan_int_rate) + (-2.28e-09 * person_emp_length) + (-2.17e-05 * person_income)
prob_default = 1 / (1 + np.exp(-int_coef_sum))
prob_nondefault = 1 - (1 / (1 + np.exp(-int_coef_sum)))
Python ile Kredi Riski Modellemesi

Katsayıların yorumlanması

# Kesişim (Intercept)
intercept = -1.02
# Çalışma süresi (employment length) katsayısı
person_emp_length_coef = -0.056
  • person_emp_length her 1 yıl arttığında, kişinin temerrüt etme olasılığı azalır
Python ile Kredi Riski Modellemesi

Katsayıların yorumlanması

# Kesişim (Intercept)
intercept = -1.02
# Çalışma süresi (employment length) katsayısı
person_emp_length_coef = -0.056
  • person_emp_length her 1 yıl arttığında, kişinin temerrüt olasılığı azalır
intercept person_emp_length değer * katsayı temerrüt olasılığı
-1.02 10 (10 * -0.06) .17
-1.02 11 (11 * -0.06) .16
-1.02 12 (12 * -0.06) .15
Python ile Kredi Riski Modellemesi

Sayısal olmayan sütunların kullanımı

  • Sayısal: loan_int_rate, person_emp_length, person_income

  • Sayısal olmayan:

    cr_loan_clean['loan_intent']
    
EDUCATION            
MEDICAL              
VENTURE              
PERSONAL             
DEBTCONSOLIDATION   
HOMEIMPROVEMENT
  • Python’daki makine öğrenimi modellerinde işlenmezse hataya neden olur
Python ile Kredi Riski Modellemesi

One-hot kodlama

  • Bir dizeyi sayıyla temsil edin

Veride kredi amacına örnek

Python ile Kredi Riski Modellemesi

One-hot kodlama

  • Bir dizeyi sayıyla temsil edin
  • Yeni column_VALUE sütununda 0 veya 1

Kredi amacı sütununun one-hot kodlanmasına örnek

Python ile Kredi Riski Modellemesi

Get dummies

  • pandas içindeki get_dummies() fonksiyonunu kullanın
# Sayısal sütunları ayırın
cred_num = cr_loan.select_dtypes(exclude=['object'])
# Sayısal olmayan sütunları ayırın
cred_cat = cr_loan.select_dtypes(include=['object'])
# Yalnızca sayısal olmayan sütunları one-hot kodlayın
cred_cat_onehot = pd.get_dummies(cred_cat)
# Sayısal sütunları one-hot sütunlarla birleştirin
cr_loan = pd.concat([cred_num, cred_cat_onehot], axis=1)
Python ile Kredi Riski Modellemesi

Geleceği tahmin etmek, muhtemelen

  • scikit-learn içinde .predict_proba() yöntemini kullanın
# Modeli eğitin
clf_logistic.fit(X_train, np.ravel(y_train))
# Modelle tahmin yapın
clf_logistic.predict_proba(X_test)
  • Temerrüt olasılıklarının dizisini üretir
# Olasılıklar: [[temerrütsüz, temerrüt]]
array([[0.55, 0.45]])
Python ile Kredi Riski Modellemesi

Haydi pratik yapalım!

Python ile Kredi Riski Modellemesi

Preparing Video For Download...