Визуализация подхода «от грубого к точному»
Вы выполните первую часть поиска по принципу «от грубого к точному». Это предполагает анализ результатов первоначального случайного поиска, проведённого в большом пространстве гиперпараметров, а затем — определение следующего логичного шага для уточнения поиска.
Вам доступны следующие объекты:
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(____)