Створення сітки
Далі потрібно створити сітку значень для пошуку оптимальних гіперпараметрів. Підмодуль pyspark.ml.tuning містить клас ParamGridBuilder, який саме для цього й призначений (мабуть, ви вже помітили закономірність: у PySpark є підмодуль майже для всього!).
Вам слід використати методи .addGrid() і .build(), щоб створити сітку для перехресної перевірки. Метод .addGrid() приймає параметр моделі (атрибут моделі Estimator, lr, яку ви створили кілька вправ тому) і список значень, які ви хочете перевірити.
Метод .build() не приймає аргументів і просто повертає сітку, яку ви використаєте пізніше.
Ця вправа є частиною курсу
Основи PySpark
Інструкції до вправи
- Імпортуйте підмодуль
pyspark.ml.tuningз псевдонімомtune. - Викличте конструктор класу
ParamGridBuilder()без аргументів. Збережіть це якgrid. - Викличте метод
.addGrid()дляgrid, передавшиlr.regParamяк перший аргумент іnp.arange(0, .1, .01)як другий аргумент. Другий виклик — це функція з модуляnumpy(імпортованого якnp), що створює список чисел від 0 до .1 з кроком .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()