Funkce doporučovacího systému
V tomto cvičení vytvoříme funkci doporučovacího systému get_recommendations(), jak jsme probírali v lekci a předchozím cvičení. Jak víš, funkce přijímá název filmu, matici kosinové podobnosti a mapování názvů a indexů filmů jako argumenty a vrací seznam 10 filmů nejpodobnějších zadanému názvu (bez samotného zadaného filmu).
Máš k dispozici datovou sadu metadata, která obsahuje názvy filmů a jejich přehledy. Začátek této datové sady byl vypsán do konzole.
Toto cvičení je součástí kurzu
Feature Engineering for NLP in Python
Pokyny k cvičení
- Získej index filmu odpovídajícího zadanému názvu pomocí klíče
titlevindices. - Extrahuj deset nejpodobnějších filmů z
sim_scoresa výsledek ulož zpět dosim_scores.
Interaktivní cvičení na vyzkoušení si v praxi
Vyzkoušejte si toto cvičení dokončením tohoto ukázkového kódu.
# 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]