ПочатиПочніть безкоштовно

Функція рекомендацій

У цій вправі ви побудуєте функцію рекомендацій get_recommendations(), як обговорювалося в уроці та попередній вправі. Вона приймає назву фільму, матрицю косинусної подібності та відображення назв фільмів у їхні індекси як аргументи й повертає список із 10 назв, найбільш подібних до початкової (без урахування самої початкової назви).

Вам надано набір даних metadata, що містить назви фільмів і описи. Початок цього набору даних уже виведено в консоль.

Ця вправа є частиною курсу

Інженерія ознак для NLP у Python

Переглянути курс

Інструкції до вправи

  • Отримайте індекс фільму, що відповідає назві, використавши ключ title у indices.
  • Витягніть десять найбільш схожих фільмів із sim_scores і збережіть їх назад у sim_scores.

Інтерактивна практична вправа

Спробуйте виконати цю вправу, доповнивши цей зразок коду.

# 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]
Редагувати та запускати код