Regolazioni del modello
Un modo semplice per regolare il modello di random forest per gestire dati di frode molto sbilanciati è usare l’opzione class_weights quando definisci il tuo modello sklearn. Tuttavia, come vedrai, è un meccanismo un po’ grossolano e potrebbe non funzionare nel tuo caso specifico.
In questo esercizio esplorerai la modalità weight = "balanced_subsample" del modello Random Forest visto in precedenza. Hai già diviso i dati in training e test set, cioè X_train, X_test, y_train, y_test sono disponibili. Le funzioni di metrica sono già state importate.
Questo esercizio fa parte del corso
Rilevamento delle frodi in Python
Istruzioni dell'esercizio
- Imposta l’argomento
class_weightdel classificatore subalanced_subsample. - Allena (fit) il modello sul training set.
- Ottieni predizioni e probabilità da
X_test. - Calcola la
roc_auc_score, il classification report e la confusion matrix.
Esercizio pratico interattivo
Prova a risolvere questo esercizio completando il codice di esempio.
# 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(____(____, ____))