Fungsi rekomendasi
Dalam latihan ini, kita akan membangun fungsi rekomendasi get_recommendations(), seperti dibahas dalam pelajaran dan latihan sebelumnya. Seperti yang kita ketahui, fungsi ini menerima sebuah judul, matriks kemiripan kosinus, serta pemetaan judul dan indeks film sebagai argumen, lalu menghasilkan daftar 10 judul yang paling mirip dengan judul awal (tidak termasuk judul itu sendiri).
Anda telah diberikan himpunan data metadata yang berisi judul dan ringkasan film. Lima baris teratas himpunan data ini telah dicetak ke konsol.
Latihan ini adalah bagian dari kursus
Rekayasa Fitur untuk NLP di Python
Petunjuk latihan
- Dapatkan indeks film yang cocok dengan judul menggunakan kunci
titledariindices. - Ambil sepuluh film yang paling mirip dari
sim_scoresdan simpan kembali kesim_scores.
Latihan interaktif praktis
Cobalah latihan ini dengan menyelesaikan kode contoh berikut.
# 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]