Modelljusteringar
Ett enkelt sätt att justera random forest-modellen för att hantera kraftigt obalanserade bedrägeridatamängder är att använda alternativet class_weights när du definierar din sklearn-modell. Som du kommer att se är det dock ett ganska trubbigt verktyg och fungerar kanske inte optimalt för just ditt specifika fall.
I den här övningen utforskar du läget weight = "balanced_subsample" i Random Forest-modellen från den tidigare övningen. Du har redan delat upp dina data i ett tränings- och testset, det vill säga X_train, X_test, y_train och y_test är tillgängliga. Metrikfunktionerna har redan importerats.
Den här övningen är en del av kursen
Bedrägeridetektering i Python
Övningsinstruktioner
- Sätt argumentet
class_weighti din klassificerare tillbalanced_subsample. - Träna modellen på ditt träningsset.
- Hämta prediktioner och sannolikheter från
X_test. - Beräkna
roc_auc_score, klassificeringsrapporten och konfusionsmatrisen.
Interaktiv övning med praktiskt arbete
Testa den här övningen genom att slutföra den här exempelkoden.
# 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(____(____, ____))