Logistická regrese pro pravděpodobnost selhání

Credit Risk Modeling in Python

Michael Crabtree

Data Scientist, Ford Motor Company

Pravděpodobnost selhání

  • Pravděpodobnost, že někdo nesplatí úvěr, je pravděpodobnost selhání
  • Hodnota pravděpodobnosti mezi 0 a 1, např. 0.86
  • loan_status hodnoty 1 označuje selhání, 0 neselhání
Credit Risk Modeling in Python

Pravděpodobnost selhání

  • Pravděpodobnost, že někdo nesplatí úvěr, je pravděpodobnost selhání
  • Hodnota pravděpodobnosti mezi 0 a 1, např. 0.86
  • loan_status hodnoty 1 označuje selhání, 0 neselhání
Pravděpodobnost selhání Interpretace Predikovaný stav úvěru
0,4 Selhání nepravděpodobné 0
0,90 Selhání velmi pravděpodobné 1
0,1 Selhání velmi nepravděpodobné 0
Credit Risk Modeling in Python

Predikce pravděpodobností

  • Pravděpodobnosti selhání jako výstup strojového učení
    • Učení z dat ve sloupcích (příznaky)
  • Klasifikační modely (selhání, neselhání)
  • Dva nejběžnější modely:
    • Logistická regrese
    • Rozhodovací strom

Příklad logistické regrese a rozhodovacího stromu

Credit Risk Modeling in Python

Logistická regrese

  • Podobná lineární regresi, ale vrací pouze hodnoty mezi 0 a 1

Vzorec pro lineární a logistickou regresi

Příklad grafu lineární a logistické regrese

Credit Risk Modeling in Python

Trénování logistické regrese

  • Logistická regrese je dostupná v balíčku scikit-learn
from sklearn.linear_model import LogisticRegression
  • Volá se jako funkce s parametry nebo bez nich
clf_logistic = LogisticRegression(solver='lbfgs')
  • K trénování slouží metoda .fit()
clf_logistic.fit(training_columns, np.ravel(training_labels))
  • Trénovací sloupce: všechny sloupce dat kromě loan_status
  • Štítky: loan_status (0, 1)
Credit Risk Modeling in Python

Trénovací a testovací data

  • Celá datová sada se obvykle rozdělí na dvě části
Credit Risk Modeling in Python

Trénovací a testovací data

  • Celá datová sada se obvykle rozdělí na dvě části
Podmnožina dat Použití Podíl
Trénovací Učení z dat pro generování predikcí 60 %
Testovací Testování modelu na nových datech 40 %
Credit Risk Modeling in Python

Vytvoření trénovací a testovací sady

  • Rozdělte data na trénovací sloupce a štítky
X = cr_loan.drop('loan_status', axis = 1)
y = cr_loan[['loan_status']]
  • Použijte funkci train_test_split() ze scikit-learn
X_train, X_test, y_train, y_test = train_test_split(X, y, test_size=.4, random_state=123)
  • test_size: podíl dat pro testovací sadu
  • random_state: hodnota náhodného seedu pro reprodukovatelnost
Credit Risk Modeling in Python

Pojďme si procvičit!

Credit Risk Modeling in Python

Preparing Video For Download...