GridSearchCV om optimale parameters te vinden
In deze oefening ga je ons model minder "willekeurig" bijstellen en laat je GridSearchCV het werk voor je doen.
Met GridSearchCV kun je de prestatiewaarde waarmee gescoord wordt bepalen. Omdat we bij fraudedetectie vooral zoveel mogelijk fraudegevallen willen opsporen, kun je je modelinstellingen optimaliseren voor de best mogelijke Recall-score. Als je óók het aantal false positives wilt verlagen, kun je optimaliseren op F1-score; dat geeft je die fijne balans tussen Precision en Recall.
GridSearchCV is al geïmporteerd uit sklearn.model_selection, dus laten we het proberen!
Deze oefening maakt deel uit van de cursus
Fraudedetectie in Python
Oefeninstructies
- Definieer in het parameterrooster dat je 1 en 30 bomen wilt proberen, en dat je het
gini- enentropy-splitscriterium wilt testen. - Definieer het model als een eenvoudige RandomForestClassifier; houd
random_stateop 5 zodat je modellen kunt vergelijken. - Stel de optie
scoringzo in dat er wordt geoptimaliseerd voor recall. - Fit het model op de trainingsdata
X_traineny_trainen haal de beste parameters voor het model op.
Praktische interactieve oefening
Probeer deze oefening eens door deze voorbeeldcode in te vullen.
# 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.____