Hyperparameter Tuning in Python
Alex Scriven
Data Scientist
V reálné genetické evoluci probíhá následující proces:
Stejnou myšlenku lze aplikovat na ladění hyperparametrů:
Jde o informované prohledávání s několika výhodami:
Užitečnou knihovnou pro genetické ladění hyperparametrů je TPOT:
Považujte TPOT za svého asistenta pro datovou vědu. TPOT je nástroj pro automatizované strojové učení v Pythonu, který optimalizuje pipeline strojového učení pomocí genetického programování.
Pipeline zahrnují nejen model (nebo více modelů), ale pracují také s příznaky a dalšími aspekty procesu. Navíc vrátí Python kód pipeline!
Klíčové argumenty klasifikátoru TPOT:
generations: Počet iterací trénování.population_size: Počet modelů uchovávaných po každé iteraci.offspring_size: Počet modelů vytvořených v každé iteraci.mutation_rate: Podíl pipeline, na které se aplikuje náhodnost.crossover_rate: Podíl pipeline křížených v každé iteraci.scoring: Funkce pro hodnocení nejlepších modelů.cv: Strategie křížové validace.Jednoduchý příklad:
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))
Výchozí hodnoty mutation_rate a crossover_rate ponecháme beze změny – bez hlubší znalosti genetického programování je lepší je neupravovat.
Poznámka: Žádné hyperparametry specifické pro algoritmus?
Hyperparameter Tuning in Python