ComeçarComece de graça

Nós compartilhados na outra partição

Para construir seu entendimento sobre sistemas de recomendação, vamos começar pelo básico. O foco aqui é calcular a similaridade entre usuários em grafos bipartidos.

Sua tarefa é escrever uma função que receba dois nós e retorne o conjunto de nós de repositório que são compartilhados entre os dois nós de usuário.

Você vai achar úteis, neste exercício, os seguintes métodos e funções — .neighbors(), set() e .intersection() — além, é claro, da função shared_partition_nodes que você vai definir!

Este exercício faz parte do curso

Análise de Redes Intermediária em Python

Ver curso

Instruções do exercício

  • Escreva uma função chamada shared_partition_nodes() que receba 3 argumentos — um grafo G, node1 e node2 — e retorne o conjunto de nós que são compartilhados entre node1 e node2.
    • Verifique se node1 e node2 pertencem à mesma partição usando uma instrução assert e a palavra‑chave 'bipartite'.
    • Obtenha os vizinhos de node1 e armazene como nbrs1.
    • Obtenha os vizinhos de node2 e armazene como nbrs2.
  • Calcule a sobreposição entre nbrs1 e nbrs2 usando o método .intersection() de conjuntos.
  • Imprima o número de repositórios compartilhados entre os usuários 'u7909' e 'u2148' usando sua função shared_partition_nodes() junto com a função len().

Exercício interativo prático

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

def ____:
    # Check that the nodes belong to the same partition
    assert G.nodes[____]['bipartite'] == G.nodes[____]['bipartite']

    # Get neighbors of node 1: nbrs1
    nbrs1 = ____
    # Get neighbors of node 2: nbrs2
    nbrs2 = ____

    # Compute the overlap using set intersections
    overlap = ____(____).____(____)
    return overlap

# Print the number of shared repositories between users 'u7909' and 'u2148'
print(____(____))
Editar e executar o código