Курс 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. Создание виртуальной среды
  5. Настройка нарезки списков
  6. Отображение графиков в Jupyter с Matplotlib
  7. Библиотека schedule: планировщик задач
  8. Генерация ключей RSA
  9. Избегайте изменяемых аргументов
  10. Функции-генераторы в Python
  11. Проверка кортежей.
  12. Гибкие функции Python
  13. Цикл for в Python
  14. Преобразование PowerPoint в PDF.
  15. Цикл while в Python
  16. Метод __complex__ в Python
  17. Поиск кода
  18. Профилирование с cProfile
  19. Проверка окончания строки с помощью str.endswith()
  20. Вакансии в Nebius
  21. Импортирование в Python
  22. Глубокое копирование объектов
  23. Различия символов в Python
  24. Оператор is в Python
  25. Частичное совпадение пользовательского ввода в Python 3.10
  26. Генераторы списков в Python
  27. Проверка дубликатов в Python
  28. Проверка элемента в множестве.
  29. Python: возвращение нескольких значений
  30. Конкатенация строк с методом join()
  31. Глобальные переменные в Python
  32. Работа с изображениями Pillow
  33. Создание копии итератора
  34. Закрытие файла в Python
  35. Метод join() для объединения строк
  36. Лямбда-функции в Python
  37. Иерархия классов в Python
  38. Список методов и атрибутов
  39. Множественное наследование в Python
  40. Сравнение def и lambda функций в Python
  41. Тестирование времени с Freezegun
  42. Управление контекстом с помощью декоратора contextmanager
  43. Просмотр атрибутов и методов класса
  44. Concrete Paths — метод .with_suffix()
  45. Основы слова

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