НачатьНачать бесплатно

Настройка параметров GridSearch

Гиперпараметр — это параметр внутри функции. Например, max_depth и min_samples_leaf являются гиперпараметрами функции DecisionTreeClassifier(). Подбор гиперпараметров — это процесс перебора различных значений с целью найти оптимальные: те, которые обеспечивают наилучшие предсказания в соответствии с вашими задачами. В sklearn для перебора комбинаций гиперпараметров можно использовать GridSearch. Ещё удобнее — функция GridSearchCV(), которая позволяет одновременно перебирать комбинации и выполнять кросс-валидацию!

В этом упражнении вы подготовите наборы значений для max_depth и min_samples_leaf, которые хотите проверить. Затем вы поместите их в словарь — именно такой формат требует GridSearchCV():

  • ключи словаря — это названия гиперпараметров;
  • значения словаря — это атрибуты (значения гиперпараметров), которые вы хотите проверить.

Чтобы не вводить все значения вручную, воспользуйтесь функцией range(), которая позволяет генерировать значения с заданным шагом. Например, range(1, 10, 2) сгенерирует список значений от 1 включительно до 10 не включительно с шагом 2. Результат будет таким: [1, 3, 5, 7, 9].

Это упражнение является частью курса

HR-аналитика: прогнозирование текучести кадров на Python

Посмотреть курс

Инструкции к упражнению

  • Следуя формату из примера выше, сгенерируйте значения максимальной глубины от 5 до 20 с шагом 1.
  • Сделайте то же самое для минимального размера выборки: значения от 50 до 450 с шагом 50.
  • Создайте словарь, указав значения max_depth и min_samples_leaf для перебора, используя только что созданные переменные.

Интерактивное практическое упражнение

Попробуйте выполнить это упражнение, дополнив этот пример кода.

# Generate values for maximum depth
depth = [i for i in ____(5,21,1)]

# Generate values for minimum sample size
samples = [i for i in range(____,500,____)]

# Create the dictionary with parameters to be checked
parameters = dict(max_depth=depth, min_samples_leaf=____)
Редактировать и запускать код