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
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()surlist(deg_cent.values()). - Itérez sur le dictionnaire des centralités en degré,
deg_cent.items(). - Si la valeur de centralité en degré
vdu nœud courantkest égale àmax_dc, ajoutez-la à l’ensemble des nœuds.
- Calculez la centralité en degré de
- 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())