Usando a transformação do sistema de recomendação
Nos últimos exercícios, você calculou a avaliação média por curso e limpou alguns dados de cursos. Você vai usar esses dados para gerar recomendações úteis para estudantes da DataCamp.
Relembrando, estas são as regras de decisão para gerar recomendações:
- Use a tecnologia que a pessoa estudante mais avaliou.
- Exclua cursos que a pessoa já avaliou.
- Encontre os três cursos com melhor avaliação entre os cursos elegíveis.
Para produzir as recomendações finais, você usará as avaliações médias por curso e a lista de recomendações elegíveis por usuário, armazenadas em avg_course_ratings e courses_to_recommend, respectivamente. Você fará isso completando a função transform_recommendations() que mescla ambos os DataFrames e encontra os 3 cursos com maior avaliação para recomendar por usuário.
Este exercício faz parte do curso
Introdução à Engenharia de Dados
Instruções do exercício
- Complete a função
transform_recommendations(): - Una
course_to_recommendcomavg_course_ratings. - Ordene os resultados por
rating, agrupando por ID de usuário. - Mostre as 3 primeiras linhas e ordene por ID de usuário.
- Chame a função
transform_recommendations()que você acabou de definir com os argumentos apropriados para armazenar as recomendações por usuário na variávelrecommendations.
Exercício interativo prático
Experimente este exercício completando este código de exemplo.
# 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 = ____(____, ____)