Öneri fonksiyonu
Bu egzersizde, derste ve önceki egzersizde tartıştığımız get_recommendations() adlı bir öneri fonksiyonu oluşturacağız. Bildiğin gibi bu fonksiyon bir başlık, bir kosinüs benzerliği matrisi ve film başlığı–indeks eşlemesini argüman olarak alır ve orijinal başlığa en çok benzeyen 10 başlığın (başlığın kendisi hariç) bir listesini döndürür.
Sana film başlıkları ve özetlerinden oluşan metadata veri kümesi verildi. Bu veri kümesinin ilk satırları konsola yazdırıldı.
Bu egzersiz
Python ile NLP için Özellik Mühendisliği
kursunun bir parçasıdırEgzersiz talimatları
indicessözlüğününtitleanahtarını kullanarak, başlığa karşılık gelen filmin indeksini al.sim_scoresiçinden en benzer on filmi çıkar ve tekrarsim_scoresdeğişkenine kaydet.
Uygulamalı interaktif egzersiz
Bu örnek kodu tamamlayarak bu egzersizi bitirin.
# Generate mapping between titles and index
indices = pd.Series(metadata.index, index=metadata['title']).drop_duplicates()
def get_recommendations(title, cosine_sim, indices):
# Get index of movie that matches title
idx = ____[____]
# Sort the movies based on the similarity scores
sim_scores = list(enumerate(cosine_sim[idx]))
sim_scores = sorted(sim_scores, key=lambda x: x[1], reverse=True)
# Get the scores for 10 most similar movies
sim_scores = sim_scores[____]
# Get the movie indices
movie_indices = [i[0] for i in sim_scores]
# Return the top 10 most similar movies
return metadata['title'].iloc[movie_indices]