Kom igångKom igång gratis

Steg för steg genom K-närmaste grannar

Du har precis sett hur K-närmaste grannar kan användas för att förutsäga hur en användare kan tänkas betygsätta ett objekt, baserat på liknande användares omdömen. I den här övningen går du igenom processen själv för att få en god förståelse för hur den fungerar.

För att komma igång har likhetsmatrisen redan genererats åt dig – användarens likhetsmatris är inbäddad i en DataFrame som laddats in som user_similarities.

Den har varje användare som rader och kolumner, och där de möts visas motsvarande likhetspoäng.

I den här övningen arbetar du med user_001s likhetspoäng, hittar deras närmaste grannar och använder de betyg dessa grannar gett en film för att förutsäga vilket betyg user_001 skulle ge den om de såg den.

Den här övningen är en del av kursen

Bygga rekommendationsmotorer i Python

Visa kurs

Övningsinstruktioner

  • Hitta ID:n för User_As 10 närmaste grannar genom att extrahera de 10 översta användarna i ordered_similarities och spara dem som nearest_neighbors.
  • Extrahera de betyg som användarna i nearest_neighbors gett från user_ratings_table och spara dem som neighbor_ratings.
  • Beräkna det genomsnittliga betyg dessa användare gett filmen Apollo 13 (1995) för att förutsäga vilket betyg User_A skulle ge den om de hade sett den.

Interaktiv övning med praktiskt arbete

Testa den här övningen genom att slutföra den här exempelkoden.

# 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)'].____())
Redigera och kör kod