Deinen Random Forest für Fraud Detection anpassen
In dieser Übung tauchst du in die Optionen des Random-Forest-Klassifikators ein: Wir werden Gewichte vergeben und die Struktur der Entscheidungsbäume im Wald feinjustieren. Du wirst Gewichte manuell definieren, um das Ungleichgewicht etwas auszugleichen. In unserem Fall haben wir 300 Fraud- zu 7000 Non-Fraud-Fällen. Wenn wir das Gewichtsverhältnis auf 1:12 setzen, kommen wir auf ein Verhältnis von 1/3 Fraud zu 2/3 Non-Fraud, was für das Training des Modells gut genug ist.
Die Daten in dieser Übung sind bereits in Trainings- und Testsatz aufgeteilt, sodass du dich auf die Definition deines Modells konzentrieren kannst. Anschließend kannst du die Funktion get_model_results() als Abkürzung verwenden. Diese Funktion passt das Modell an deine Trainingsdaten an, sagt voraus und berechnet Leistungsmetriken – ähnlich wie in den vorherigen Übungen.
Diese Übung ist Teil des Kurses
Betrugserkennung mit Python
Anleitung zur Übung
- Ändere die Option
weight, um das Verhältnis für Non-Fraud- und Fraud-Fälle auf 1 zu 12 zu setzen, und lege das Split-Kriterium auf 'entropy' fest. - Setze die maximale Tiefe auf 10.
- Setze die minimale Anzahl an Stichproben in Blattknoten auf 10.
- Setze die Anzahl der im Modell zu verwendenden Bäume auf 20.
Interaktive Übung
Vervollständige den Beispielcode, um diese Übung erfolgreich abzuschließen.
# Change the model options
model = RandomForestClassifier(bootstrap=True, class_weight={0:____, 1:____}, criterion='____',
# Change depth of model
max_depth=____,
# Change the number of samples in leaf nodes
min_samples_leaf=____,
# Change the number of trees to use
n_estimators=____, n_jobs=-1, random_state=5)
# Run the function get_model_results
get_model_results(X_train, y_train, X_test, y_test, model)