Курс 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
  2. Операции со строками в Python
  3. Создание класса в Python
  4. Объединение списков в Python
  5. Генерация тестовых данных с factory_boy
  6. Проверка класса объекта
  7. Обновление ключей в Python
  8. Проверка строки на палиндром
  9. Установка и использование Telegram API в Python
  10. Работа с SQLite в Python
  11. Метод __ixor__ для побитового исключающего ИЛИ
  12. Оператор continue в Python
  13. Любовь к Python
  14. Безопасные SQL-запросы в Python 3.11
  15. Модуль subprocess: запуск внешних команд
  16. Поиск наиболее частого элемента в списке
  17. Измерение времени выполнения кода
  18. Работа с Requests для HTTP-запросов
  19. Функция eval() в Python
  20. Метод get для словарей
  21. Определение функций с необязательными аргументами
  22. Скрытие вывода данных
  23. Создание файла с проверкой ошибки
  24. Получение имени функции с помощью inspect
  25. Замена символов в Python
  26. Magic Commands — улучшение работы с Python
  27. Работа с массивами в Python
  28. Работа с контекстным менеджером Pool
  29. Управление контекстом выполнения
  30. Установка пакета в Python
  31. Сортировка списка по индексам
  32. Работа с рекламными данными в Pandas
  33. Работа со случайными элементами
  34. Очистка списка от False, None, 0, «»
  35. Python defaultdict добавление ключа
  36. Генерация случайных данных в NumPy
  37. Установка и использование Logzero
  38. Установка Git и AWS CLI
  39. Модуль subprocess: запуск внешних команд
  40. Определение относительного пути
  41. Python: цикл for и оператор присваивания
  42. Поиск индекса элемента
  43. Курс Data Scientist в медицине
  44. Структура данных deque в Python

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