Настройка параметров 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=____)