CommencezCommencez gratuitement

Nœuds partagés dans l'autre partition

Pour renforcer votre compréhension des systèmes de recommandation, nous allons commencer par les bases. Ici, l'objectif est de calculer la similarité entre utilisateurs dans les graphes bipartis.

Votre tâche est d'écrire une fonction qui prend deux nœuds en entrée et retourne l'ensemble des nœuds de dépôt qui sont partagés entre les deux nœuds utilisateurs.

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!

Cette activité fait partie du cours

Analyse de réseaux intermédiaire en Python

Voir le cours

Instructions de l’exercice

  • Écrivez une fonction appelée shared_partition_nodes() qui prend 3 arguments — un graphe G, node1 et node2 — et retourne l'ensemble des nœuds partagés entre node1 et node2.
    • Vérifiez que node1 et node2 appartiennent à la même partition en utilisant une instruction assert et le 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 à l'aide de la méthode .intersection() des ensembles.
  • Affichez le nombre de dépôts partagés entre les utilisateurs 'u7909' et 'u2148' en utilisant votre fonction shared_partition_nodes() avec la fonction len().

Exercice interactif pratique

Essayez cet exercice en complétant ce code d’exemple.

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