Використання перетворення для рекомендацій
У попередніх вправах ви обчислили середню оцінку для кожного курсу та почистили деякі дані про курси. Тепер ви використаєте ці дані, щоб сформувати дієві рекомендації для студентів DataCamp.
Нагадаємо правила ухвалення рішень для формування рекомендацій:
- Використовуйте технологію, яку студент оцінював найчастіше/найвище.
- Виключайте курси, які студент уже оцінював.
- Знайдіть три найрейтинговіші курси серед доступних.
Щоб отримати фінальні рекомендації, ви використаєте середні рейтинги курсів і список придатних до рекомендацій курсів для кожного користувача, збережені відповідно у avg_course_ratings і courses_to_recommend. Ви зробите це, доповнивши функцію transform_recommendations(), яка об'єднує обидва датафрейми та визначає по три найвище оцінені курси для рекомендації кожному користувачу.
Ця вправа є частиною курсу
Вступ до Data Engineering
Інструкції до вправи
- Доповніть функцію
transform_recommendations(): - Об'єднайте
course_to_recommendзavg_course_ratings. - Відсортуйте результати за
rating, згрупувавши за ідентифікатором користувача. - Показуйте перші 3 рядки та відсортуйте за ідентифікатором користувача.
- Викличте щойно визначену функцію
transform_recommendations()з відповідними аргументами, щоб зберегти рекомендації для кожного користувача у зміннійrecommendations.
Інтерактивна практична вправа
Спробуйте виконати цю вправу, доповнивши цей зразок коду.
# Complete the transformation function
def transform_recommendations(avg_course_ratings, courses_to_recommend):
# Merge both DataFrames
merged = courses_to_recommend.____(____)
# Sort values by rating and group by user_id
grouped = merged.sort_values("____", ascending=False).groupby("____")
# Produce the top 3 values and sort by user_id
recommendations = grouped.head(____).sort_values("____").reset_index()
final_recommendations = recommendations[["user_id", "course_id","rating"]]
# Return final recommendations
return final_recommendations
# Use the function with the predefined DataFrame objects
recommendations = ____(____, ____)