Построение моделей на основе неявных данных
Теперь, когда все значения гиперпараметров заданы, давайте предложим Spark построить достаточно моделей, чтобы проверить каждую комбинацию. Для этого здесь уже подготовлен цикл for. Следуйте инструкциям ниже, чтобы автоматически создать модели ALS. В следующих упражнениях вы запустите эти модели на тестовых наборах данных и определите, какая из них работает лучше всего.
Алгоритм ALS уже импортирован. Списки, созданные в предыдущем упражнении (ranks, maxIters, regParams, alphas), также подготовлены для вас.
Это упражнение является частью курса
Построение рекомендательных систем с помощью PySpark
Инструкции к упражнению
- Здесь уже задан пустой список
model_list. Циклforсоздаст модель для каждой комбинации гиперпараметров и добавит её вmodel_list. - Заполните цикл
for, обратившись к содержимому каждого списка:r— элементы спискаranks,mi— элементы спискаmaxIters,rp— элементы спискаregParams,a— элементы спискаalphas. - Выведите
len(model_list)иmodel_list, чтобы убедиться, что все модели были созданы. Длина должна быть равна произведению длин всех списков гиперпараметров. Для проверки вы также можете воспользоваться дополнительной валидацией, предусмотренной в коде.
Интерактивное практическое упражнение
Попробуйте выполнить это упражнение, дополнив этот пример кода.
# For loop will automatically create and store ALS models
for r in ____:
for mi in ____:
for rp in ____:
for a in ____:
model_list.append(ALS(userCol= "userId", itemCol= "songId", ratingCol= "num_plays", rank = r, maxIter = mi, regParam = rp, alpha = a, coldStartStrategy="drop", nonnegative = True, implicitPrefs = True))
# Print the model list, and the length of model_list
print (model_list, "Length of model_list: ", len(____))
# Validate
len(model_list) == (len(ranks)*len(maxIters)*len(regParams)*len(alphas))