Modellanpassungen
Eine einfache Möglichkeit, das Random-Forest-Modell an stark unausgewogene Fraud-Daten anzupassen, ist die Option class_weights beim Definieren deines sklearn-Modells. Wie du aber sehen wirst, ist das ein eher grobes Werkzeug und passt vielleicht nicht zu deinem speziellen Fall.
In dieser Übung schaust du dir den Modus weight = "balanced_subsample" des Random-Forest-Modells aus der vorherigen Übung an. Du hast deine Daten bereits in Trainings- und Testmenge aufgeteilt, d. h. X_train, X_test, y_train, y_test sind vorhanden. Die Metrikfunktionen wurden bereits importiert.
Diese Übung ist Teil des Kurses
<Kurs>Betrugserkennung mit Python</Kurs>Übungsanweisungen
- Setze das Argument
class_weightdeines Klassifikators aufbalanced_subsample. - Fitte dein Modell auf die Trainingsdaten.
- Ermittle Vorhersagen und Wahrscheinlichkeiten aus
X_test. - Ermittle die
roc_auc_score, den Classification Report und die Confusion Matrix.
Interaktive praktische Übung
Versuche dich an dieser Übung, indem du diesen Beispielcode vervollständigst.
# Define the model with balanced subsample
model = RandomForestClassifier(class_weight='____', random_state=5)
# Fit your training model to your training set
model.fit(____, ____)
# Obtain the predicted values and probabilities from the model
predicted = ____.____(____)
probs = ____.____(____)
# Print the roc_auc_score, the classification report and confusion matrix
print(____(____, ____))
print(____(____, ____))
print(____(____, ____))