Zacznij terazZacznij za darmo

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

Zobacz kurs

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 z ordered_similarities i zapisz wynik jako nearest_neighbors.
  • Wyodrębnij z user_ratings_table oceny wystawione przez użytkowników z listy nearest_neighbors i zapisz je jako neighbor_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)'].____())
Edytuj i uruchom kod