НачатьНачать бесплатно

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

В этом упражнении мы создадим функцию рекомендаций 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]
Редактировать и запускать код