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

Создание сетки параметров

Теперь нужно создать сетку значений для поиска оптимальных гиперпараметров. Подмодуль pyspark.ml.tuning содержит класс ParamGridBuilder, который делает именно это (возможно, вы уже начинаете замечать закономерность: в PySpark есть подмодуль практически для любой задачи!).

Вам потребуются методы .addGrid() и .build(), чтобы построить сетку для дальнейшей кросс-валидации. Метод .addGrid() принимает параметр модели (атрибут объекта Estimatorlr, который вы создали несколько упражнений назад) и список значений, которые нужно перебрать. Метод .build() не принимает аргументов — он просто возвращает готовую сетку, которая понадобится позже.

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

Основы PySpark

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

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

  • Импортируйте подмодуль pyspark.ml.tuning под псевдонимом tune.
  • Вызовите конструктор класса ParamGridBuilder() без аргументов и сохраните результат в переменную grid.
  • Вызовите метод .addGrid() на объекте grid, передав lr.regParam первым аргументом и np.arange(0, .1, .01) вторым. Второй аргумент — функция из модуля numpy (импортированного as np), которая формирует список чисел от 0 до 0,1 с шагом 0,01. Перезапишите grid результатом этого вызова.
  • Снова обновите grid, вызвав метод .addGrid() повторно: создайте сетку для lr.elasticNetParam со значениями [0, 1].
  • Вызовите метод .build() на объекте grid и перезапишите его результатом.

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

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

# Import the tuning submodule
import ____ as ____

# Create the parameter grid
grid = tune.____

# Add the hyperparameter
grid = grid.addGrid(____, np.arange(0, .1, .01))
grid = grid.addGrid(____, ____)

# Build the grid
grid = grid.build()
Редактировать и запускать код