Je eerste pipeline - nog een keer!
Terug bij de hartritmestoornis-startup staat je maandelijkse evaluatie voor de deur, en daarbij kijkt een expert Python-programmeur je code na. Je besluit op te ruimen volgens best practices en je script voor featureselectie en random forest-classificatie te vervangen door een pipeline. Je gebruikt een trainingsgegevensset die beschikbaar is als X_train en y_train, en een aantal modules: RandomForestClassifier, SelectKBest() en f_classif() voor featureselectie, en daarnaast GridSearchCV en Pipeline.
Deze oefening maakt deel uit van de cursus
Machine Learning-workflows ontwerpen in Python
Oefeninstructies
- Maak een pipeline met de featureselector uit de voorbeeldcode en een random forest-classifier. Noem de eerste stap
feature_selection. - Voeg twee key-valueparen toe in
params: één voor het aantal featureskin de selector met waarden 10 en 20, en één voorn_estimatorsin het forest met mogelijke waarden 2 en 5. - Initialiseer een
GridSearchCV-object met de gegeven pipeline en parametergrid. - Fit het object op de data en print de best presterende parametercombinatie.
Praktische interactieve oefening
Probeer deze oefening eens door deze voorbeeldcode in te vullen.
# Create pipeline with feature selector and classifier
pipe = ___([
(___, SelectKBest(f_classif)),
('clf', ___(random_state=2))])
# Create a parameter grid
params = {
'feature_selection__k':___,
___:[2, 5]}
# Initialize the grid search object
grid_search = ___(___, ___=params)
# Fit it to the data and print the best value combination
print(grid_search.fit(___, ___).___)