CommencerCommencer gratuitement

Approfondissement – Réseau Twitter

Vous allez maintenant plonger en profondeur dans un réseau Twitter, ce qui vous aidera à consolider ce que vous avez vu plus tôt. Vous allez d’abord identifier les nœuds qui peuvent diffuser des messages très efficacement à de nombreuses personnes à un degré de séparation.

NetworkX a déjà été importé pour vous sous le nom nx.

Cet exercice fait partie du cours

Introduction à l’analyse de réseaux en Python

Afficher le cours

Instructions

  • Écrivez une fonction find_nodes_with_highest_deg_cent(G) qui renvoie le ou les nœuds ayant la centralité en degré la plus élevée, en suivant les étapes suivantes :
    • Calculez la centralité en degré de G.
    • Calculez la centralité en degré maximale en utilisant la fonction max() sur list(deg_cent.values()).
    • Itérez sur le dictionnaire des centralités en degré, deg_cent.items().
    • Si la valeur de centralité en degré v du nœud courant k est égale à max_dc, ajoutez-la à l’ensemble des nœuds.
  • Utilisez votre fonction pour trouver le ou les nœuds ayant la centralité en degré la plus élevée dans T.
  • Écrivez une instruction d’assertion qui vérifie que le ou les nœuds sont correctement identifiés. Cela a été fait pour vous, donc cliquez sur "Soumettre la réponse" pour voir le résultat !

Exercice interactif pratique

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

# Define find_nodes_with_highest_deg_cent()
def find_nodes_with_highest_deg_cent(G):

    # Compute the degree centrality of G: deg_cent
    deg_cent = ____

    # Compute the maximum degree centrality: max_dc
    max_dc = ____

    nodes = set()

    # Iterate over the degree centrality dictionary
    for k, v in ____:

        # Check if the current value has the maximum degree centrality
        if ____ == ____:

            # Add the current node to the set of nodes
            ____

    return nodes

# Find the node(s) that has the highest degree centrality in T: top_dc
top_dc = ____
print(top_dc)

# Write the assertion statement
for node in top_dc:
    assert nx.degree_centrality(T)[node] == max(nx.degree_centrality(T).values())
Modifier et exécuter le code