LoslegenKostenlos loslegen

Kostenanalyse in der Praxis

Du arbeitest in dieser Übung weiterhin mit dem Kredit-Datensatz. Zur Erinnerung: Ein "positive" in diesem Datensatz bedeutet "bad credit", d. h. ein Kunde, der mit seinem Kredit in Verzug geraten ist; ein "negative" bedeutet einen Kunden, der ohne Probleme weitergezahlt hat. Die Bankleitung hat dich informiert, dass die Bank im Durchschnitt 10 K Gewinn mit jedem "good risk"-Kunden macht, aber 150 K mit jedem "bad risk"-Kunden verliert. Dein Algorithmus wird zur Vorauswahl von Antragstellern genutzt: Diejenigen, die als "negative" gelabelt werden, erhalten einen Kredit, und die "positive" werden abgelehnt. Wie hoch sind die Gesamtkosten deines Klassifikators? Die Daten liegen als X_train, X_test, y_train und y_test vor. Die Funktionen confusion_matrix(), f1_score(), precision_score() und RandomForestClassifier() stehen zur Verfügung.

Diese Übung ist Teil des Kurses

Machine-Learning-Workflows in Python entwerfen

Kurs anzeigen

Anleitung zur Übung

  • Fitte einen Random-Forest-Klassifikator auf die Trainingsdaten.
  • Nutze ihn, um die Testdaten zu labeln.
  • Extrahiere die False Negatives und False Positives aus confusion_matrix(). Du musst die Matrix dafür abflachen.
  • Einen "good"-Kunden fälschlich als "bad" zu klassifizieren, bedeutet, dass der Bank die Chance auf 10 K Gewinn entgeht. Einen "bad"-Kunden fälschlich als "good" zu klassifizieren, bedeutet, dass die Bank 150 K verliert, weil der Kunde seinen Kredit nicht bedient.

Interaktive Übung

Vervollständige den Beispielcode, um diese Übung erfolgreich abzuschließen.

# Fit a random forest classifier to the training data
clf = ____(random_state=2).fit(____, ____)

# Label the test data
preds = clf.____(____)

# Get false positives/negatives from the confusion matrix
tn, ____, ____, tp = confusion_matrix(y_test, preds).____()

# Now compute the cost using the manager's advice
cost = fp*____ + fn*____
Code bearbeiten und ausführen