CommencezCommencez gratuitement

Trouver des films aimés de façon similaire

Tout comme vous avez calculé la similarité entre deux films, vous pouvez la calculer pour l'ensemble des utilisateurs afin de trouver le film le plus similaire à un autre selon la façon dont les utilisateurs les ont évalués.

La démarche est semblable à celle utilisée avec le filtrage fondé sur le contenu.

Vous allez d'abord calculer les scores de similarité entre tous les films, puis vous concentrer sur le film qui vous intéresse en isolant et en triant la colonne qui contient ses scores de similarité.

movie_ratings_centered a de nouveau été chargé : chaque film est une ligne et les cotes centrées sont enregistrées comme valeurs.

Cette activité fait partie du cours

Créer des moteurs de recommandation en Python

Voir le cours

Instructions de l’exercice

  • Calculez la matrice de similarité entre tous les films dans movie_ratings_centered et enregistrez-la dans similarities.
  • Encapsulez la matrice similarities dans un DataFrame, avec les index de movie_ratings_centered comme colonnes et comme lignes.

Exercice interactif pratique

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

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