Encontrando filmes com gostos semelhantes
Assim como você calculou a similaridade entre dois filmes, também pode calculá-la considerando todos os usuários para encontrar o filme mais parecido com outro com base nas avaliações que os usuários fizeram.
A abordagem é semelhante à que você usou em filtragem baseada em conteúdo.
Você vai encontrar as pontuações de similaridade entre todos os filmes e depois aprofundar no filme de interesse, isolando e ordenando a coluna que contém suas pontuações de similaridade.
movie_ratings_centered foi carregado novamente, contendo cada filme como uma linha e suas avaliações centralizadas como valores.
Este exercício faz parte do curso
Construindo mecanismos de recomendação em Python
Instruções do exercício
- Calcule a matriz de similaridade entre todos os filmes em
movie_ratings_centerede armazene-a como similarities. - Envolva a matriz
similaritiesem um DataFrame, com os índices demovie_ratings_centeredcomo colunas e linhas.
Exercício interativo prático
Experimente este exercício completando este código de exemplo.
from sklearn.metrics.pairwise import cosine_similarity
# Generate the similarity matrix
similarities = ____(____)
# Wrap the similarities in a DataFrame
cosine_similarity_df = ____.____(____, index=____.____, columns=____.____)
# Find the similarity values for a specific movie
cosine_similarity_series = cosine_similarity_df.loc['Star Wars: Episode IV - A New Hope (1977)']
# Sort these values highest to lowest
ordered_similarities = cosine_similarity_series.sort_values(ascending=False)
print(ordered_similarities)