Курс 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. Генерация тестовых данных с factory_boy
  2. Defaultdict в Python
  3. 9 уловок для чистого кода
  4. Создание вложенных циклов for
  5. Преобразование чисел в слова
  6. Округление банкира в Python
  7. Получение значений из словарей
  8. Декораторы в Python
  9. Получение размера объекта с sys.getsizeof()
  10. Нахождение отличий в списках
  11. Непрерывная проверка в Python
  12. Работа с Event() в threading
  13. Блок try…finally в Python
  14. JMESPath в Python
  15. Форматирование заголовков в Python
  16. Проверка однородности элементов списка
  17. Декоратор Ajax required
  18. Профилирование кода
  19. Проверка существования переменной с оператором :=
  20. Строки в Python: апострофы и кавычки
  21. Удаление дубликатов из списка
  22. Выключение компьютера с помощью Python
  23. Списки в Python: синтаксис представления
  24. Удаление элемента из списка
  25. Создание .exe файла с pyinstaller
  26. Работа с изображениями Pillow
  27. Добавление Progressbar в Python
  28. Работа со слайсами
  29. Вызов внешних программ в Python с помощью sh
  30. Использование *args
  31. Лямбда-функции в Python
  32. ROT13 Шифр Цезаря в Python
  33. capitalize() — изменение регистра первого символа строки
  34. Оператор деления для класса Rational
  35. Конкатенация строк в Python
  36. Создание директории в Python
  37. Нахождение пересечения множеств
  38. Преобразование типов данных в set comprehension
  39. Оператор continue в Python
  40. Работа с NumPy массивами
  41. Лямбда-функции в Python
  42. Сортировка с помощью key
  43. Оценка выражений генератора в Python
  44. Запуск файлового сервера
  45. Перевод двоичного кода в целое число
  46. Определение объема памяти объекта

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