Krok po kroku przez algorytm K najbliższych sąsiadów
Właśnie zobaczyłeś, jak algorytm K najbliższych sąsiadów pozwala przewidzieć, jak ktoś mógłby ocenić dany element – korzystając z mądrości (podobnych) użytkowników. W tym ćwiczeniu samodzielnie przejdziesz przez ten proces, żeby dobrze zrozumieć, jak to działa.
Na dobry start: ponieważ wielokrotnie generowałeś już macierze podobieństwa, ten krok został wykonany za ciebie – macierz podobieństwa użytkowników jest opakowana w ramkę danych załadowaną jako user_similarities.
Każdy użytkownik stanowi zarówno wiersz, jak i kolumnę tej tabeli, a w miejscu ich przecięcia znajduje się odpowiedni wynik podobieństwa.
W tym ćwiczeniu będziesz pracować z wynikami podobieństwa użytkownika user_001: znajdziesz jego najbliższych sąsiadów i na podstawie ich ocen filmowych wywnioskujesz, jaką ocenę user_001 mógłby wystawić danemu filmowi.
To ćwiczenie jest częścią kursu
Budowanie systemów rekomendacji w Pythonie
Instrukcje do ćwiczenia
- Znajdź identyfikatory 10 najbliższych sąsiadów użytkownika
User_A, wyodrębniając 10 najwyżej plasujących się użytkowników zordered_similaritiesi zapisz wynik jakonearest_neighbors. - Wyodrębnij z
user_ratings_tableoceny wystawione przez użytkowników z listynearest_neighborsi zapisz je jakoneighbor_ratings. - Oblicz średnią ocenę, jaką ci użytkownicy wystawili filmowi
Apollo 13 (1995), aby wywnioskować, jaką ocenę mógłby mu nadaćUser_A, gdyby go obejrzał.
Interaktywne ćwiczenie praktyczne
Spróbuj tego ćwiczenia, uzupełniając ten przykładowy kod.
# 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)'].____())