ComeçarComece de graça

Métrica de similaridade entre usuários

Depois de escrever uma função para calcular o conjunto de nós compartilhados entre dois nós, agora você vai escrever uma função para computar uma métrica de similaridade entre dois usuários: o número de projetos compartilhados entre dois usuários dividido pelo total de nós na outra partição. Isso pode ser usado para encontrar usuários semelhantes entre si.

Este exercício faz parte do curso

Análise de Redes Intermediária em Python

Ver curso

Instruções do exercício

  • Complete a função user_similarity() para calcular a similaridade entre user1 e user2.
    • Use declarações assert para verificar que user1 e user2 pertencem à partição 'users'.
    • Use sua função shared_partition_nodes() do exercício anterior para obter o conjunto de nós compartilhados entre os dois usuários user1 e user2.
    • Retorne a fração de nós na partição projects. Ou seja, divida o número de shared_nodes pelo total de nós na partição 'projects'.
  • Calcule a pontuação de similaridade entre os usuários 'u4560' e 'u1880'. Para fazer isso:
    • Primeiro, obtenha os nós na partição 'projects' usando sua função get_nodes_from_partition().
    • Em seguida, use sua função user_similarity() para calcular a pontuação.

Exercício interativo prático

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

def user_similarity(G, user1, user2, proj_nodes):
    # Check that the nodes belong to the 'users' partition
    ____ G.nodes[____]['bipartite'] == '____'
    ____ G.nodes[____]['bipartite'] == '____'

    # Get the set of nodes shared between the two users
    shared_nodes = ____

    # Return the fraction of nodes in the projects partition
    return len(____) / len(____)

# Compute the similarity score between users 'u4560' and 'u1880'
project_nodes = ____
similarity_score = ____

print(similarity_score)
Editar e executar o código