Deep Dive – Twitter-Netzwerk Teil II
Als Nächstes machst du einen analogen Deep Dive zur Betweenness-Zentralität! Nur ein paar Hinweise zur Unterstützung: Denk daran, dass die Betweenness-Zentralität mit nx.betweenness_centrality(G) berechnet wird.
Diese Übung ist Teil des Kurses
Einstieg in die Netzwerkanalyse mit Python
Anleitung zur Übung
- Schreibe eine Funktion
find_node_with_highest_bet_cent(G), die den/die Knoten mit der höchsten Betweenness-Zentralität zurückgibt.- Berechne die Betweenness-Zentralität von
G. - Bestimme die maximale Betweenness-Zentralität mit der Funktion
max()auflist(bet_cent.values()). - Iteriere über das Betweenness-Zentralitäts-Dictionary
bet_cent.items(). - Wenn der Betweenness-Zentralitätswert
vdes aktuellen Knotenskgleichmax_bcist, füge ihn der Knotenmange hinzu.
- Berechne die Betweenness-Zentralität von
- Verwende deine Funktion, um den/die Knoten mit der höchsten Betweenness-Zentralität in
Tzu finden. - Schreibe eine Assertion, dass du den richtigen Knoten gefunden hast. Das wurde bereits für dich erledigt – klicke also auf 'Antwort senden', um das Ergebnis zu sehen!
Interaktive Übung
Vervollständige den Beispielcode, um diese Übung erfolgreich abzuschließen.
# Define find_node_with_highest_bet_cent()
def find_node_with_highest_bet_cent(G):
# Compute betweenness centrality: bet_cent
bet_cent = ____
# Compute maximum betweenness centrality: max_bc
max_bc = ____
nodes = set()
# Iterate over the betweenness centrality dictionary
for k, v in ____:
# Check if the current value has the maximum betweenness centrality
if ____ == ____:
# Add the current node to the set of nodes
____
return nodes
# Use that function to find the node(s) that has the highest betweenness centrality in the network: top_bc
top_bc = ____
print(top_bc)
# Write an assertion statement that checks that the node(s) is/are correctly identified.
for node in top_bc:
assert nx.betweenness_centrality(T)[node] == max(nx.betweenness_centrality(T).values())