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
Övningsinstruktioner
- Hitta ID:n för
User_As 10 närmaste grannar genom att extrahera de 10 översta användarna iordered_similaritiesoch spara dem somnearest_neighbors. - Extrahera de betyg som användarna i
nearest_neighborsgett frånuser_ratings_tableoch spara dem somneighbor_ratings. - Beräkna det genomsnittliga betyg dessa användare gett filmen
Apollo 13 (1995)för att förutsäga vilket betygUser_Askulle 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)'].____())