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

Крок за кроком із K-nearest neighbors

Ви щойно побачили, як K-nearest neighbors допомагає спрогнозувати, яку оцінку людина може поставити елементу, спираючись на «мудрість» подібної аудиторії. У цій вправі ви самі пройдете всі кроки цього процесу, щоб краще зрозуміти, як він працює.

Щоб ви швидше розпочали, етап побудови матриці подібності вже виконано за вас — матрицю подібності користувачів упаковано в DataFrame і завантажено як user_similarities.

У ній кожен користувач представлений у рядках і стовпцях, а на перетині — відповідне значення подібності.

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

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

Створення систем рекомендацій у Python

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

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

  • Знайдіть ідентифікатори 10 найближчих сусідів User_A, вибравши топ-10 користувачів у ordered_similarities, і збережіть їх як nearest_neighbors.
  • Витягніть оцінки користувачів із nearest_neighbors із user_ratings_table у змінну neighbor_ratings.
  • Обчисліть середню оцінку, яку ці користувачі поставили фільму Apollo 13 (1995), щоб спрогнозувати, яку оцінку міг би дати User_A, якби він його бачив.

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

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

# Isolate the similarity scores for user_1 and sort
user_similarity_series = user_similarities.loc['user_001']
ordered_similarities = user_similarity_series.sort_values(ascending=False)

# Find the top 10 most similar users
nearest_neighbors = ordered_similarities[1:11].____

# Extract the ratings of the neighbors
neighbor_ratings = user_ratings_table.____(nearest_neighbors)

# Calculate the mean rating given by the users nearest neighbors
print(neighbor_ratings['Apollo 13 (1995)'].____())
Редагувати та запускати код