Курс 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. Изменение логики работы с временем
  3. Работа с библиотекой xkcd
  4. Преобразование списков в словарь
  5. Область видимости переменных
  6. Получение частей дроби
  7. Вакансии в Nebius
  8. Работа с IP-адресами в Python
  9. Функция findall() для поиска вхождений строки
  10. Быстрый поиск кода
  11. Пересечение списков с использованием множеств
  12. Поиск наиболее частого элемента
  13. Поиск простых чисел
  14. Принципы Zen Python
  15. Расчет времени выполнения кода
  16. Объединение списков в Python
  17. Оператор морж в Python 3.8
  18. Оператор continue в Python
  19. Создание спинбокса в tkinter
  20. Генераторы в Python
  21. Объединение списков в строку
  22. Область видимости переменных
  23. Оператор del в Python
  24. Вложенные генераторы в Python
  25. Параллельные вычисления в Python
  26. Вызов функций по строке в Python.
  27. Бесконечные списки в Python
  28. Распаковка аргументов в Python
  29. Асинхронное программирование с asyncio
  30. Работа с PosixPath() в Python
  31. Поиск наиболее частого элемента в списке
  32. Работа с CSV файлами в Python
  33. Тестирование модели в PyTorch
  34. Подсчет частоты элементов с Counter
  35. Форматирование строк с f-строками
  36. Перевод текста с Python Translator
  37. Библиотека funcy: удобные утилиты
  38. Создание namedtuple из словаря
  39. Порядок операций в Python
  40. Декораторы в Python
  41. Метод __getitem__ в Python
  42. Работа с областями видимости переменных
  43. Работа с itertools
  44. Роль object и type в Python

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