Aan de slagGa gratis aan de slag

Modelaanpassingen

Een eenvoudige manier om het random forest-model aan te passen aan sterk onevenwichtige fraudedata is de class_weights-optie te gebruiken bij het definiëren van je sklearn-model. Maar zoals je zult zien, is het een nogal bot mechanisme en werkt het misschien niet voor jouw specifieke geval.

In deze oefening verken je de modus weight = "balanced_subsample" van het Random Forest-model uit de vorige oefening. Je hebt je data al gesplitst in een trainings- en testset; X_train, X_test, y_train, y_test zijn dus beschikbaar. De functies uit metrics zijn al geïmporteerd.

Deze oefening maakt deel uit van de cursus

Fraudedetectie in Python

Cursus bekijken

Oefeninstructies

  • Zet het argument class_weight van je classifier op balanced_subsample.
  • Fit je model op de trainingsset.
  • Haal voorspellingen en waarschijnlijkheden op uit X_test.
  • Bepaal de roc_auc_score, het classificatierapport en de verwarringsmatrix.

Praktische interactieve oefening

Probeer deze oefening eens door deze voorbeeldcode in te vullen.

# 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(____(____, ____))
Code bewerken en uitvoeren