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
Betrugserkennung mit Python
Anleitung zur Übung
- 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 Übung
Vervollständige den Beispielcode, um diese Übung erfolgreich abzuschließen.
# 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(____(____, ____))