Strojenie hiperparametrów w Pythonie
Alex Scriven
Data Scientist
W prawdziwej ewolucji genetycznej proces przebiega następująco:
Tę samą ideę można zastosować do strojenia hiperparametrów:
To metoda informed search o wielu zaletach:
Użyteczną biblioteką do genetycznego strojenia hiperparametrów jest TPOT:
TPOT to Twój asystent Data Science. Jest to narzędzie Python do automatycznego uczenia maszynowego, które optymalizuje pipeline'y uczenia maszynowego za pomocą programowania genetycznego.
Pipeline'y obejmują nie tylko model (lub kilka modeli), ale też przetwarzanie cech i inne elementy procesu. Biblioteka zwraca również kod Pythona gotowego pipeline'u!
Kluczowe argumenty klasyfikatora TPOT:
generations: Liczba iteracji trenowania.population_size: Liczba modeli zachowywanych po każdej iteracji.offspring_size: Liczba modeli tworzonych w każdej iteracji.mutation_rate: Odsetek pipeline'ów, do których stosuje się losowość.crossover_rate: Odsetek pipeline'ów krzyżowanych w każdej iteracji.scoring: Funkcja oceny do wyboru najlepszych modeli.cv: Strategia walidacji krzyżowej.Prosty przykład:
from tpot import TPOTClassifier tpot = TPOTClassifier(generations=3, population_size=5, verbosity=2, offspring_size=10, scoring='accuracy', cv=5)tpot.fit(X_train, y_train) print(tpot.score(X_test, y_test))
Domyślne wartości mutation_rate i crossover_rate pozostawiamy bez zmian — bez głębszej wiedzy o programowaniu genetycznym lepiej ich nie modyfikować.
Uwaga: brak hiperparametrów specyficznych dla algorytmu?
Strojenie hiperparametrów w Pythonie