Aan de slagGa gratis aan de slag

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

Cursus bekijken

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 features k in de selector met waarden 10 en 20, en één voor n_estimators in 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(___, ___).___)
Code bewerken en uitvoeren