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

Визуализация подхода «от грубого к точному»

Вы выполните первую часть поиска по принципу «от грубого к точному». Это предполагает анализ результатов первоначального случайного поиска, проведённого в большом пространстве гиперпараметров, а затем — определение следующего логичного шага для уточнения поиска.

Вам доступны следующие объекты:

  • combinations_list — список возможных комбинаций гиперпараметров, по которым проводился случайный поиск.
  • results_df — DataFrame, содержащий каждую комбинацию гиперпараметров и результирующую точность для всех 500 испытаний. Каждый гиперпараметр представлен отдельным столбцом, заголовок которого совпадает с названием гиперпараметра.
  • visualize_hyperparameter() — функция, которая принимает название столбца DataFrame (в виде строки) и строит точечный график зависимости значений этого столбца от показателей точности. Пример вызова функции: visualize_hyperparameter('accuracy')

Чтобы просмотреть определение функции visualize_hyperparameter(), выполните следующий код:

import inspect
print(inspect.getsource(visualize_hyperparameter))

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

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

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

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

  • Выведите на экран размер combinations_list, чтобы обосновать необходимость начать со случайного поиска.
  • Отсортируйте results_df по значениям точности и выведите первые 10 строк. Удаётся ли сделать однозначные выводы? Помните об ограниченном объёме выборки!
  • Выведите на экран названия гиперпараметров, которые использовались в этом поиске. Они соответствуют именам столбцов в results_df.
  • Последовательно вызовите visualize_hyperparameter() для каждого гиперпараметра (max_depth, min_samples_leaf, learn_rate). Прослеживаются ли какие-либо закономерности?

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

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

# Confirm the size of the combinations_list
print(____(____))

# Sort the results_df by accuracy and print the top 10 rows
print(results_df.____(by=____, ascending=False).head(____))

# Confirm which hyperparameters were used in this search
print(results_df.____)

# Call visualize_hyperparameter() with each hyperparameter in turn
visualize_hyperparameter(____)
visualize_hyperparameter(____)
visualize_hyperparameter(____)
Редактировать и запускать код