IniziaInizia gratis

Trovare film apprezzati in modo simile

Proprio come hai calcolato la similarità tra due film, puoi calcolarla su tutti gli utenti per trovare il film più simile a un altro in base a come gli utenti li hanno valutati.

L'approccio è simile a quello usato con il content-based filtering.

Troverai i punteggi di similarità tra tutti i film e poi ti concentrerai sul film di interesse isolando e ordinando la colonna che contiene i suoi punteggi di similarità.

movie_ratings_centered è stato nuovamente caricato: contiene ogni film come riga e le valutazioni centrate come valori.

Questo esercizio fa parte del corso

Creare motori di raccomandazione in Python

Visualizza il corso

Istruzioni dell'esercizio

  • Calcola la matrice di similarità tra tutti i film in movie_ratings_centered e salvala come similarities.
  • Incapsula la matrice similarities in un DataFrame, usando gli indici di movie_ratings_centered come colonne e righe.

Esercizio pratico interattivo

Prova a risolvere questo esercizio completando il codice di esempio.

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)
Modifica ed esegui il codice