Тюнінг гіперпараметрів у Python
Alex Scriven
Data Scientist
У природній еволюції маємо такий процес:
Ту саму ідею можна застосувати до налаштування гіперпараметрів:
Це обізнаний пошук із низкою переваг:
Корисна бібліотека для генетичного налаштування гіперпараметрів — TPOT:
Вважайте TPOT вашим асистентом Data Science. TPOT — це інструмент Automated Machine Learning для Python, що оптимізує конвеєри машинного навчання за допомогою генетичного програмування.
Конвеєри охоплюють не лише модель (або кілька моделей), а й обробку ознак та інші етапи процесу. До того ж TPOT повертає вам Python‑код конвеєра!
Ключові аргументи для класифікатора TPOT:
generations: кількість ітерацій навчання.population_size: скільки моделей лишати після кожної ітерації.offspring_size: скільки моделей генерувати в кожній ітерації.mutation_rate: частка конвеєрів із випадковими змінами.crossover_rate: частка конвеєрів для «схрещування» в кожній ітерації.scoring: функція для вибору найкращих моделей.cv: стратегія крос‑валідації.Простий приклад:
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))
Залишимо типові значення для mutation_rate і crossover_rate, адже без глибших знань генетичного програмування їх краще не змінювати.
Зауважте: жодних алгоритмоспецифічних гіперпараметрів?
Тюнінг гіперпараметрів у Python