Regresie logistică pentru probabilitatea de nerambursare

Modelarea Riscului de Credit în Python

Michael Crabtree

Data Scientist, Ford Motor Company

Probabilitatea de nerambursare

  • Probabilitatea ca cineva să nu ramburseze un credit este probabilitatea de nerambursare
  • O valoare de probabilitate între 0 și 1, de exemplu 0.86
  • loan_status de 1 înseamnă nerambursare sau 0 pentru rambursare
Modelarea Riscului de Credit în Python

Probabilitatea de nerambursare

  • Probabilitatea ca cineva să nu ramburseze un credit este probabilitatea de nerambursare
  • O valoare de probabilitate între 0 și 1, de exemplu 0.86
  • loan_status de 1 înseamnă nerambursare sau 0 pentru rambursare
Probabilitate de nerambursare Interpretare Statut credit prezis
0.4 Puțin probabil să nu ramburseze 0
0.90 Foarte probabil să nu ramburseze 1
0.1 Foarte puțin probabil să nu ramburseze 0
Modelarea Riscului de Credit în Python

Predicția probabilităților

  • Probabilitățile de nerambursare ca rezultat al învățării automate
    • Învățare din date în coloane (caracteristici)
  • Modele de clasificare (nerambursare, rambursare)
  • Cele mai comune două modele:
    • Regresie logistică
    • Arbore de decizie

Exemplu de regresie logistică și arbore de decizie

Modelarea Riscului de Credit în Python

Regresia logistică

  • Similar cu regresia liniară, dar produce doar valori între 0 și 1

Formula pentru regresia liniară și regresia logistică

Exemplu grafic pentru regresia liniară și regresia logistică

Modelarea Riscului de Credit în Python

Antrenarea unei regresii logistice

  • Regresia logistică este disponibilă în pachetul scikit-learn
from sklearn.linear_model import LogisticRegression
  • Apelată ca funcție, cu sau fără parametri
clf_logistic = LogisticRegression(solver='lbfgs')
  • Utilizează metoda .fit() pentru antrenare
clf_logistic.fit(training_columns, np.ravel(training_labels))
  • Coloane de antrenare: toate coloanele din date cu excepția loan_status
  • Etichete: loan_status(0,1)
Modelarea Riscului de Credit în Python

Antrenare și testare

  • Întregul set de date este de obicei împărțit în două părți
Modelarea Riscului de Credit în Python

Antrenare și testare

  • Întregul set de date este de obicei împărțit în două părți
Subset de date Utilizare Proporție
Antrenare Învățare din date pentru generarea predicțiilor 60%
Testare Testarea învățării pe date noi, nevăzute 40%
Modelarea Riscului de Credit în Python

Crearea seturilor de antrenare și testare

  • Separați datele în coloane de antrenare și etichete
X = cr_loan.drop('loan_status', axis = 1)
y = cr_loan[['loan_status']]
  • Utilizați funcția train_test_split() din scikit-learn
X_train, X_test, y_train, y_test = train_test_split(X, y, test_size=.4, random_state=123)
  • test_size: procentul de date pentru setul de testare
  • random_state: valoare pentru reproducibilitate
Modelarea Riscului de Credit în Python

Să exersăm!

Modelarea Riscului de Credit în Python

Preparing Video For Download...