Fördjupning – Twitter-nätverket
Nu ska du fördjupa dig i ett Twitter-nätverk, vilket hjälper dig att befästa det du lärt dig tidigare. Börja med att hitta de noder som kan sprida meddelanden mycket effektivt till många personer med en separation.
NetworkX har importerats åt dig som nx.
Den här övningen är en del av kursen
Introduktion till nätverksanalys i Python
Övningsinstruktioner
- Skriv en funktion
find_nodes_with_highest_deg_cent(G)som returnerar noden/noderna med högst gradsentralitet enligt följande steg:- Beräkna gradsentraliteten för
G. - Beräkna den maximala gradsentraliteten med funktionen
max()pålist(deg_cent.values()). - Iterera över gradsentralitetsordboken
deg_cent.items(). - Om gradsentralitetsvärdet
vför den aktuella nodenkär lika medmax_dc, lägg till den i nodmängden.
- Beräkna gradsentraliteten för
- Använd din funktion för att hitta noden/noderna med högst gradsentralitet i
T. - Skriv ett assertion-uttryck som verifierar att noden/noderna identifieras korrekt. Det här är redan gjort åt dig, så klicka på 'Skicka in svar' för att se resultatet!
Interaktiv övning med praktiskt arbete
Testa den här övningen genom att slutföra den här exempelkoden.
# 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())