K-en yakın komşular adım adım
K-en yakın komşuların, benzer kalabalığın bilgeliğine dayanarak birinin bir öğeye nasıl puan verebileceğini çıkarmak için nasıl kullanılabileceğini az önce gördün. Bu egzersizde, nasıl çalıştığını iyi anlamak için bu süreci adım adım kendin uygulayacaksın.
Başlaman için, daha önce defalarca benzerlik matrisleri oluşturduğun gibi, bu adım senin için yapıldı ve kullanıcı benzerlik matrisi bir DataFrame'e sarılıp user_similarities olarak yüklendi.
Bu matriste her kullanıcı satırlar ve sütunlar olarak yer alır ve kesiştikleri yerde karşılık gelen benzerlik puanı bulunur.
Bu egzersizde, user_001'in benzerlik puanlarıyla çalışacak, en yakın komşularını bulacak ve bu komşuların bir filme verdikleri puanlara dayanarak, user_001'in onu izleseydi ne puan verebileceğini çıkaracaksın.
Bu egzersiz
Python ile Öneri Motorları Geliştirme
kursunun bir parçasıdırEgzersiz talimatları
ordered_similaritiesiçindeki en üst 10 kullanıcıyı çıkararakUser_A'nın 10 en yakın komşusunun kimliklerini bul venearest_neighborsolarak sakla.user_ratings_tableiçindennearest_neighbors'taki kullanıcıların verdikleri puanlarıneighbor_ratingsolarak çıkar.- Bu kullanıcıların
Apollo 13 (1995)filmine verdikleri ortalama puanı hesaplayarak,User_A'nın onu izlemiş olsaydı ne puan verebileceğini çıkar.
Uygulamalı interaktif egzersiz
Bu örnek kodu tamamlayarak bu egzersizi bitirin.
# 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)'].____())