CommencerCommencer gratuitement

Nœuds partagés dans l’autre partition

Pour poser les bases des systèmes de recommandation, commençons par les fondamentaux. Ici, l’objectif est de mesurer la similarité entre utilisateurs dans des graphes bipartis.

Votre tâche est d’écrire une fonction qui prend deux nœuds en entrée et renvoie l’ensemble des nœuds « dépôt » partagés entre ces deux nœuds « utilisateur ».

Les méthodes et fonctions suivantes vous seront utiles dans cet exercice : .neighbors(), set() et .intersection() — en plus, bien sûr, de la fonction shared_partition_nodes que vous allez définir !

Cet exercice fait partie du cours

Analyse de réseaux intermédiaire en Python

Afficher le cours

Instructions

  • Écrivez une fonction appelée shared_partition_nodes() qui prend 3 arguments — un graphe G, node1 et node2 — et renvoie l’ensemble des nœuds partagés entre node1 et node2.
    • Vérifiez que node1 et node2 appartiennent à la même partition à l’aide d’une instruction assert et du mot-clé 'bipartite'.
    • Obtenez les voisins de node1 et stockez-les dans nbrs1.
    • Obtenez les voisins de node2 et stockez-les dans nbrs2.
  • Calculez le chevauchement entre nbrs1 et nbrs2 en utilisant la méthode d’ensemble .intersection().
  • Affichez le nombre de dépôts partagés entre les utilisateurs 'u7909' et 'u2148' en utilisant votre fonction shared_partition_nodes() conjointement avec la fonction len().

Exercice interactif pratique

Essayez cet exercice en complétant cet exemple de code.

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(____(____))
Modifier et exécuter le code