Logistische Regression für Ausfallwahrscheinlichkeit

Kreditrisikomodellierung in Python

Michael Crabtree

Data Scientist, Ford Motor Company

Ausfallwahrscheinlichkeit

  • Die Wahrscheinlichkeit, dass jemand mit einem Kredit ausfällt, ist die Ausfallwahrscheinlichkeit
  • Ein Wahrscheinlichkeitswert zwischen 0 und 1, z. B. 0.86
  • loan_status von 1 bedeutet Ausfall, 0 kein Ausfall
Kreditrisikomodellierung in Python

Ausfallwahrscheinlichkeit

  • Die Wahrscheinlichkeit, dass jemand mit einem Kredit ausfällt, ist die Ausfallwahrscheinlichkeit
  • Ein Wert zwischen 0 und 1, z. B. 0.86
  • loan_status von 1 bedeutet Ausfall, 0 kein Ausfall
Ausfallwahrscheinlichkeit Interpretation Prognostizierter Status
0.4 Unwahrscheinlich, dass Ausfall 0
0.90 Sehr wahrscheinlich, dass Ausfall 1
0.1 Sehr unwahrscheinlich, dass Ausfall 0
Kreditrisikomodellierung in Python

Wahrscheinlichkeiten vorhersagen

  • Ausfallwahrscheinlichkeiten als Ergebnis von Machine Learning
    • Lernen aus Spalten (Features)
  • Klassifikationsmodelle (Ausfall, kein Ausfall)
  • Zwei gängige Modelle:
    • Logistische Regression
    • Entscheidungsbaum

Beispiel für logistische Regression und Entscheidungsbaum

Kreditrisikomodellierung in Python

Logistische Regression

  • Ähnlich wie lineare Regression, liefert aber nur Werte zwischen 0 und 1

Formel für lineare und logistische Regression

Beispielgrafik für lineare und logistische Regression

Kreditrisikomodellierung in Python

Logistische Regression trainieren

  • Logistische Regression ist im scikit-learn-Paket verfügbar
from sklearn.linear_model import LogisticRegression
  • Als Funktion mit oder ohne Parameter aufrufen
clf_logistic = LogisticRegression(solver='lbfgs')
  • Zum Trainieren Methode .fit() verwenden
clf_logistic.fit(training_columns, np.ravel(training_labels))
  • Trainingsspalten: alle Spalten außer loan_status
  • Labels: loan_status (0,1)
Kreditrisikomodellierung in Python

Training und Testen

  • Der gesamte Datensatz wird meist in zwei Teile aufgeteilt
Kreditrisikomodellierung in Python

Training und Testen

  • Der gesamte Datensatz wird meist in zwei Teile aufgeteilt
Teilmenge Nutzung Anteil
Train Aus Daten lernen, um Vorhersagen zu erzeugen 60%
Test Lernen an neuen, ungesehenen Daten prüfen 40%
Kreditrisikomodellierung in Python

Trainings- und Testsätze erstellen

  • Daten in Trainingsfeatures und Labels trennen
X = cr_loan.drop('loan_status', axis = 1)
y = cr_loan[['loan_status']]
  • Funktion train_test_split() aus scikit-learn verwenden
X_train, X_test, y_train, y_test = train_test_split(X, y, test_size=.4, random_state=123)
  • test_size: Anteil der Daten für den Testsatz
  • random_state: Zufallssamen für Reproduzierbarkeit
Kreditrisikomodellierung in Python

Lass uns üben!

Kreditrisikomodellierung in Python

Preparing Video For Download...