Začněte nyníZačněte zdarma

Krok za krokem přes K-nearest neighbors

Právě ses přesvědčil/a, jak lze K-nearest neighbors využít k odhadnutí hodnocení, které by někdo dal danému filmu – a to díky moudrosti (podobně smýšlejícího) davu. V tomto cvičení si celý postup projdeš sám/sama, aby sis ho dobře osvojil/a.

Aby ses mohl/a rovnou pustit do práce, matice podobností byla za tebe připravena předem – uživatelská matice podobností je zabalená do DataFrame načteného jako user_similarities.

Tento DataFrame má uživatele jako řádky i sloupce; na jejich průsečíku najdeš odpovídající skóre podobnosti.

V tomto cvičení budeš pracovat se skóre podobností uživatele user_001, najdeš jeho nejbližší sousedy a na základě jejich hodnocení odhadneš, jaké hodnocení by user_001 dal danému filmu, kdyby ho viděl.

Toto cvičení je součástí kurzu

Tvorba doporučovacích systémů v Pythonu

Zobrazit kurz

Pokyny k cvičení

  • Najdi ID 10 nejbližších sousedů uživatele User_A tak, že z ordered_similarities vybeреš prvních 10 uživatelů a uložíš je jako nearest_neighbors.
  • Z user_ratings_table extrahuj hodnocení uživatelů v nearest_neighbors a ulož je jako neighbor_ratings.
  • Vypočítej průměrné hodnocení, které tito uživatelé dali filmu Apollo 13 (1995), a odhadni tak, jaké hodnocení by mu dal User_A, kdyby ho viděl.

Interaktivní cvičení na vyzkoušení si v praxi

Vyzkoušejte si toto cvičení dokončením tohoto ukázkového kódu.

# 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)'].____())
Upravit a spustit kód