CommencerCommencer gratuitement

Trouver des films aimés de manière similaire

Tout comme vous avez calculé la similarité entre deux films, vous pouvez l’estimer sur l’ensemble des utilisateurs pour trouver le film le plus proche d’un autre en fonction de la manière dont les utilisateurs les ont notés.

L’approche est proche de celle utilisée pour le filtrage par le contenu.

Vous allez d’abord calculer les scores de similarité entre tous les films, puis vous focaliser 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 notes centrées sont stockées comme valeurs.

Cet exercice fait partie du cours

Créer des moteurs de recommandation en Python

Afficher le cours

Instructions

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

Exercice interactif pratique

Essayez cet exercice en complétant cet exemple de code.

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