IniziaInizia gratis

Passo dopo passo con K-nearest neighbors

Hai appena visto come K-nearest neighbors può essere usato per dedurre come qualcuno potrebbe valutare un elemento basandosi sulla saggezza di una folla (simile). In questo esercizio, ripercorrerai tu stesso questo processo per assicurarti di capirne bene il funzionamento.

Per iniziare, dato che hai già generato matrici di similarità molte volte, questo passaggio è stato fatto per te: la matrice di similarità tra utenti è incapsulata in un DataFrame caricato come user_similarities.

Questo ha ogni utente sia come righe sia come colonne, e all’incrocio trovi il relativo punteggio di similarità.

In questo esercizio lavorerai con i punteggi di similarità di user_001, troverai i suoi vicini più prossimi e, in base alle valutazioni che quei vicini hanno dato a un film, dedurrai quale voto user_001 potrebbe assegnargli se lo vedesse.

Questo esercizio fa parte del corso

Creare motori di raccomandazione in Python

Visualizza il corso

Istruzioni dell'esercizio

  • Trova gli ID dei 10 vicini più prossimi di User_A estraendo i primi 10 utenti in ordered_similarities e salvali come nearest_neighbors.
  • Estrai le valutazioni che gli utenti in nearest_neighbors hanno dato da user_ratings_table come neighbor_ratings.
  • Calcola la valutazione media che questi utenti hanno dato al film Apollo 13 (1995) per dedurre quale voto User_A potrebbe dargli se lo avesse visto.

Esercizio pratico interattivo

Prova a risolvere questo esercizio completando il codice di esempio.

# Isolate the similarity scores for user_1 and sort
user_similarity_series = user_similarities.loc['user_001']
ordered_similarities = user_similarity_series.sort_values(ascending=False)

# Find the top 10 most similar users
nearest_neighbors = ordered_similarities[1:11].____

# Extract the ratings of the neighbors
neighbor_ratings = user_ratings_table.____(nearest_neighbors)

# Calculate the mean rating given by the users nearest neighbors
print(neighbor_ratings['Apollo 13 (1995)'].____())
Modifica ed esegui il codice