Найкраща модель і її параметри
Тепер, коли ми побудували наш крос-валіда́тор 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, побудована з наших варіантів гіперпараметрів, справді готова. Тут потрібен оператор друку, щоб надалі працювати з наступними операторами друку. - Отримайте
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____())