Python ile Kredi Riski Modellemesi
Michael Crabtree
Data Scientist, Ford Motor Company
# 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]])
# 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)))
# 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# 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 |
Sayısal: loan_int_rate, person_emp_length, person_income
Sayısal olmayan:
cr_loan_clean['loan_intent']
EDUCATION
MEDICAL
VENTURE
PERSONAL
DEBTCONSOLIDATION
HOMEIMPROVEMENT
column_VALUE sütununda 0 veya 1pandas 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)
.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)
# Olasılıklar: [[temerrütsüz, temerrüt]]
array([[0.55, 0.45]])
Python ile Kredi Riski Modellemesi