CommencezCommencez gratuitement

La fonction de recommandation

Dans cet exercice, nous allons créer une fonction de recommandation get_recommendations(), comme expliqué 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 et indices, puis retourne 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'en-tête de ce jeu de données a été affiché dans la console.

Cette activité fait partie du cours

Ingénierie des caractéristiques pour le NLP en Python

Voir le cours

Instructions de l’exercice

  • Obtenez l'indice du film correspondant au titre en utilisant la clé title de indices.
  • Extrayez les dix films les plus similaires à partir de sim_scores et réattribuez le résultat à sim_scores.

Exercice interactif pratique

Essayez cet exercice en complétant ce code d’exemple.

# 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]
Modifier et exécuter le code