La fonction de recommandation
Dans cet exercice, vous allez construire une fonction de recommandation get_recommendations(), comme vu dans la leçon et l’exercice précédent. Comme vous le savez, elle prend en paramètres un titre, une matrice de similarité cosinus, ainsi qu’une correspondance entre titres de films et index, et elle renvoie une liste de 10 titres les plus similaires au titre d’origine (en excluant le titre lui-même).
On vous fournit un jeu de données metadata qui contient les titres de films et leurs résumés. L’aperçu de ce jeu de données a été affiché dans la console.
Cet exercice fait partie du cours
Feature Engineering pour le NLP en Python
Instructions
- Récupérez l’index du film correspondant au titre en utilisant la clé
titledeindices. - Extrayez les dix films les plus similaires depuis
sim_scoreset réaffectez-les àsim_scores.
Exercice interactif pratique
Essayez cet exercice en complétant cet exemple de code.
# Generate mapping between titles and index
indices = pd.Series(metadata.index, index=metadata['title']).drop_duplicates()
def get_recommendations(title, cosine_sim, indices):
# Get index of movie that matches title
idx = ____[____]
# Sort the movies based on the similarity scores
sim_scores = list(enumerate(cosine_sim[idx]))
sim_scores = sorted(sim_scores, key=lambda x: x[1], reverse=True)
# Get the scores for 10 most similar movies
sim_scores = sim_scores[____]
# Get the movie indices
movie_indices = [i[0] for i in sim_scores]
# Return the top 10 most similar movies
return metadata['title'].iloc[movie_indices]