GridSearchCV för att hitta optimala parametrar
I den här övningen ska du justera modellen på ett mindre "slumpmässigt" sätt och använda GridSearchCV för att låta den göra jobbet åt dig.
Med GridSearchCV kan du definiera vilket prestationsmått som ska styra urvalet av alternativ. Eftersom vi vid bedrägeridetektering främst vill fånga så många bedrägerifall som möjligt, kan du optimera modellinställningarna för bästa möjliga recall-poäng. Om du dessutom vill minska antalet falska positiva kan du optimera på F1-poäng, vilket ger dig den välbalanserade avvägningen mellan precision och recall.
GridSearchCV har redan importerats från sklearn.model_selection – låt oss prova!
Den här övningen är en del av kursen
Bedrägeridetektering i Python
Övningsinstruktioner
- Definiera i parameterrutnätet att du vill testa 1 och 30 träd, samt att du vill testa uppdelningskriterierna
giniochentropy. - Definiera modellen som en enkel RandomForestClassifier och behåll
random_statepå 5 för att kunna jämföra modellerna. - Ange alternativet
scoringså att det optimerar för recall. - Anpassa modellen till träningsdatan
X_trainochy_trainoch hämta de bästa parametrarna för modellen.
Interaktiv övning med praktiskt arbete
Testa den här övningen genom att slutföra den här exempelkoden.
# 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.____