Курс Python → Оптимизация гиперпараметров с Scikit Optimize

Для оптимизации гиперпараметров в Python-скрипте необходимо выполнить 3 простых шага. Второй шаг включает в себя использование функции train_evaluate в качестве цели для оптимизации в любой библиотеке оптимизации неизвестной функции, такой как «черный ящик». Одним из популярных выборов для этой цели является библиотека Scikit Optimize.

Scikit Optimize предоставляет удобный интерфейс для оптимизации гиперпараметров, позволяя выбирать из различных методов оптимизации, таких как случайный поиск, а также байесовскую оптимизацию. Эти методы позволяют находить оптимальные значения гиперпараметров для вашей модели, улучшая ее производительность.

Пример использования Scikit Optimize для оптимизации гиперпараметров может выглядеть следующим образом:


from skopt import gp_minimize
from skopt.space import Real, Integer
from skopt.utils import use_named_args

# Определение функции train_evaluate для оптимизации
@use_named_args(dimensions=[Real(0.1, 1.0, name='learning_rate'), Integer(1, 100, name='n_estimators')])
def train_evaluate(learning_rate, n_estimators):
    # Ваш код обучения модели и оценки ее производительности
    return -accuracy

# Оптимизация гиперпараметров
result = gp_minimize(train_evaluate, dimensions=[Real(0.1, 1.0, name='learning_rate'), Integer(1, 100, name='n_estimators')], n_calls=10)

В данном примере мы используем байесовскую оптимизацию для нахождения оптимальных значений learning_rate и n_estimators. После нескольких вызовов train_evaluate с различными значениями гиперпараметров, библиотека Scikit Optimize найдет комбинацию, которая дает наилучшую производительность модели.

Твои коллеги будут рады, поделись в

Автор урока

Дмитрий Комаровский
Дмитрий Комаровский

Автоматизация процессов
в КраснодарБанки.ру

Другие уроки курса "Python"

  1. Изменение переменной в Python: nonlocal
  2. Библиотека itertools: объединение списков
  3. Декораторы для регистрации функций
  4. Уникальные значения из списка
  5. Встраивание HTML в Jupyter Notebook
  6. Хеши в Python
  7. Удаление и повторная вставка ключа в OrderedDict
  8. Замена подстроки
  9. Метод get для словаря
  10. Передача неизвестных аргументов в Python.
  11. Функция enumerate в Python
  12. Показ всплывающих окон Tkinter
  13. Подписка на SelectelNews в Twitter
  14. Python-dateutil — работа с датами
  15. Конкатенация строк в Python
  16. Работа с дробями в Python
  17. Создание пар из последовательностей
  18. Оператор is в Python
  19. Функция product() в Python
  20. Объединение списков в Python
  21. Создание пользовательской коллекции в Python
  22. Отступы в Python
  23. Объединение словарей в Python
  24. Глобальные переменные в Python
  25. Вычисление натуральных логарифмов в NumPy
  26. Модуль os: работа с файлами и папками
  27. Запуск внешнего кода в Jupyter
  28. Создание словарей и множеств в Python
  29. Создание объекта timedelta
  30. Декоратор total_ordering для класса Point
  31. Поиск email
  32. Тестирование с responses
  33. Добавление Progressbar в Python
  34. Работа со строками в Python.
  35. PATCH-запрос с библиотекой requests
  36. Область видимости переменных в Python
  37. Создание тестовых данных с Faker
  38. Concrete Paths — метод .with_suffix()
  39. Просмотр внешних файлов в %pycat
  40. Создание вложенных циклов for
  41. Поиск индекса элемента в списке
  42. Декораторы в Python
  43. Вывод баннеров
  44. Обход дочерних элементов BeautifulSoup
  45. Метод join() с набором

Marketello читают маркетологи из крутых компаний