Twój pierwszy pipeline – jeszcze raz!
W startupie zajmującym się arytmią zbliża się miesięczny przegląd pracy, a doświadczony programista Pythona przyjrzy się twojemu kodowi. Postanawiasz go uporządkować zgodnie z najlepszymi praktykami i zastąpić skrypt do selekcji cech i klasyfikacji lasem losowym potokiem przetwarzania (pipeline). Dysponujesz zbiorem treningowym dostępnym jako X_train i y_train, a także następującymi modułami: RandomForestClassifier, SelectKBest() i f_classif() do selekcji cech oraz GridSearchCV i Pipeline.
To ćwiczenie jest częścią kursu
Projektowanie przepływów pracy uczenia maszynowego w Pythonie
Instrukcje do ćwiczenia
- Utwórz pipeline z selektorem cech podanym w przykładowym kodzie oraz klasyfikatorem lasu losowego. Nazwij pierwszy krok
feature_selection. - Dodaj do
paramsdwie pary klucz–wartość: jedną dla liczby cechkw selektorze z wartościami 10 i 20, drugą dlan_estimatorsw lesie losowym z możliwymi wartościami 2 i 5. - Zainicjuj obiekt
GridSearchCV, przekazując mu przygotowany pipeline oraz siatkę parametrów. - Dopasuj obiekt do danych i wyświetl najlepszą znalezioną kombinację parametrów.
Interaktywne ćwiczenie praktyczne
Spróbuj tego ćwiczenia, uzupełniając ten przykładowy kod.
# 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(___, ___).___)