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

Автоматизация выбора гиперпараметров

Находить оптимальный гиперпараметр без необходимости писать сотни строк кода для сотен моделей — это важный выигрыш в эффективности, который значительно упростит вашу дальнейшую работу по построению моделей машинного обучения.

Одним из ключевых гиперпараметров алгоритма GBM является скорость обучения. Но какое её значение оптимально для данной задачи? Написав цикл для перебора нескольких вариантов, сохранив результаты и проанализировав их, вы сможете найти наилучшее значение.

Для проверки предлагаются следующие значения скорости обучения: 0.001, 0.01, 0.05, 0.1, 0.2 и 0.5

Вам доступны наборы данных X_train, X_test, y_train и y_test, а также импортированный класс GradientBoostingClassifier.

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

Подбор гиперпараметров в Python

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

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

  • Создайте список learning_rates со значениями скорости обучения и список results_list для хранения показателей точности предсказаний.
  • Напишите цикл, который создаёт модель GBM для каждого значения скорости обучения и формирует предсказания для каждой модели.
  • Сохраните значение скорости обучения и показатель точности в results_list.
  • Преобразуйте список результатов в DataFrame и выведите его на экран.

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

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

# Set the learning rates & results storage
learning_rates = ____
results_list = ____

# Create the for loop to evaluate model predictions for each learning rate
for learning_rate in ____:
    model = ____(learning_rate=____)
    predictions = ____.fit(____, ____).predict(____)
    # Save the learning rate and accuracy score
    results_list.append([____, accuracy_score(y_test, ____)])

# Gather everything into a DataFrame
results_df = pd.DataFrame(____, columns=['learning_rate', 'accuracy'])
print(results_df)
Редактировать и запускать код