Aan de slagGa gratis aan de slag

Kostenanalyse in de praktijk

Je werkt in deze oefening verder met de kredietgegevensset. Onthoud dat een "positief" in deze set "slechte credit" betekent, dus een klant die zijn lening niet heeft terugbetaald, en een "negatief" een klant die zonder problemen is blijven betalen. De bankmanager liet weten dat de bank gemiddeld 10K winst maakt op elke "goed risico"-klant, maar 150K verliest op elke "slecht risico"-klant. Jouw algoritme wordt gebruikt om aanvragers te screenen: wie als "negatief" wordt gelabeld, krijgt een lening; de "positieven" worden afgewezen. Wat zijn de totale kosten van je classifier? De data is beschikbaar als X_train, X_test, y_train en y_test. De functies confusion_matrix(), f1_score(), precision_score() en RandomForestClassifier() zijn beschikbaar.

Deze oefening maakt deel uit van de cursus

Machine Learning-workflows ontwerpen in Python

Cursus bekijken

Oefeninstructies

  • Train een random forest-classifier op de trainingsdata.
  • Gebruik het model om de testdata te labelen.
  • Haal de false negatives en false positives uit confusion_matrix(). Je moet de matrix platmaken.
  • Een "goede" klant ten onrechte als "slecht" classificeren betekent dat de bank de kans mist om 10K winst te maken. Een "slechte" klant ten onrechte als "goed" classificeren betekent dat de bank 150K verliest doordat de klant zijn lening niet terugbetaalt.

Praktische interactieve oefening

Probeer deze oefening eens door deze voorbeeldcode in te vullen.

# 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 bewerken en uitvoeren