IniziaInizia gratis

GridSearchCV per trovare i parametri ottimali

In questo esercizio affinerai il modello in modo meno “casuale” usando GridSearchCV per fare il lavoro al posto tuo.

Con GridSearchCV puoi definire quale metrica di performance usare per il punteggio delle opzioni. Poiché nel fraud detection ci interessa soprattutto intercettare il maggior numero possibile di frodi, puoi ottimizzare le impostazioni del modello per ottenere il miglior punteggio di Recall. Se ti interessasse anche ridurre il numero di falsi positivi, potresti ottimizzare sull’F1-score, che ti offre un buon compromesso Precision-Recall.

GridSearchCV è già stato importato da sklearn.model_selection, quindi proviamolo!

Questo esercizio fa parte del corso

Rilevamento delle frodi in Python

Visualizza il corso

Istruzioni dell'esercizio

  • Definisci nel parametro grid che vuoi provare 1 e 30 alberi e che vuoi testare i criteri di split gini ed entropy.
  • Definisci il modello come un semplice RandomForestClassifier; mantieni random_state a 5 per poter confrontare i modelli.
  • Imposta l’opzione scoring in modo che ottimizzi per il recall.
  • Adatta il modello ai dati di addestramento X_train e y_train e ottieni i parametri migliori per il modello.

Esercizio pratico interattivo

Prova a risolvere questo esercizio completando il codice di esempio.

# Define the parameter sets to test
param_grid = {'n_estimators': [____, ____], 'max_features': ['auto', 'log2'],  'max_depth': [4, 8], 'criterion': ['____', '____']
}

# Define the model to use
model = ____(random_state=5)

# Combine the parameter sets with the defined model
CV_model = GridSearchCV(estimator=model, param_grid=param_grid, cv=5, scoring='____', n_jobs=-1)

# Fit the model to our training data and obtain best parameters
CV_model.fit(____, ____)
CV_model.____
Modifica ed esegui il codice