Лучшая модель и её параметры
Теперь, когда перекрёстный валидатор cv готов, можно указать Spark обучить алгоритм ALS на наших данных и перебрать различные комбинации значений гиперпараметров из param_grid, чтобы найти те, которые обеспечивают наименьшее значение RMSE. К сожалению, в текущей среде это займёт слишком много времени, однако для справки приведём, как это делается:
#Fit cross validator to the 'train' dataset
model = cv.fit(train)
#Extract best model from the cv model above
best_model = model.bestModel
Этот код был выполнен отдельно, и best_model уже определена и сохранена для вас. Используйте приведённые команды, чтобы извлечь параметры модели.
Это упражнение является частью курса
Построение рекомендательных систем с помощью PySpark
Инструкции к упражнению
- Выведите
type(best_model), чтобы убедиться, что модель ALS, построенная на основе заданных вариантов гиперпараметров, действительно готова. Операторprintнеобходим здесь для корректной работы с последующими операторами вывода. - Извлеките
rankизbest_model, вызвав метод.getRank()на объектеbest_model. - Извлеките
maxIterизbest_model, вызвав метод.getMaxIter()на объектеbest_model. - Извлеките
regParamизbest_model, вызвав метод.getRegParam()на объектеbest_model.
Интерактивное практическое упражнение
Попробуйте выполнить это упражнение, дополнив этот пример кода.
# Print best_model
print(____)
# Complete the code below to extract the ALS model parameters
print("**Best Model**")
# Print "Rank"
print(" Rank:", best_model.get____())
# Print "MaxIter"
print(" MaxIter:", best_model.get____())
# Print "RegParam"
print(" RegParam:", best_model.get____())