ComeçarComece de graça

Passo a passo com K-nearest neighbors

Você acabou de ver como K-nearest neighbors pode ser usado para inferir como alguém avaliaria um item com base na sabedoria de uma multidão (similar). Neste exercício, você vai percorrer esse processo por conta própria para garantir que entendeu bem como ele funciona.

Para começar, como você já gerou matrizes de similaridade muitas vezes antes, essa etapa já foi feita para você: a matriz de similaridade de usuários está em um DataFrame carregado como user_similarities.

Nele, cada usuário aparece como linhas e colunas, e onde se cruzam está a respectiva pontuação de similaridade.

Neste exercício, você vai trabalhar com as pontuações de similaridade de user_001, encontrar seus vizinhos mais próximos e, com base nas notas que esses vizinhos deram a um filme, inferir que nota user_001 poderia dar se tivesse assistido.

Este exercício faz parte do curso

Construindo mecanismos de recomendação em Python

Ver curso

Instruções do exercício

  • Encontre os IDs dos 10 vizinhos mais próximos de User_A extraindo os 10 usuários do topo em ordered_similarities e armazenando-os em nearest_neighbors.
  • Extraia, de user_ratings_table, as avaliações que os usuários em nearest_neighbors deram, salvando-as em neighbor_ratings.
  • Calcule a nota média que esses usuários deram ao filme Apollo 13 (1995) para inferir que nota User_A poderia dar se tivesse assistido.

Exercício interativo prático

Experimente este exercício completando este código de exemplo.

# 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)'].____())
Editar e executar o código