LoslegenKostenlos loslegen

Deep Dive – Twitter-Netzwerk

Jetzt tauchst du tief in ein Twitter-Netzwerk ein – das festigt, was du zuvor gelernt hast. Zuerst suchst du die Knoten, die Nachrichten sehr effizient an viele Personen in nur einem Verbindungsgrad weiterleiten können.

NetworkX wurde bereits als nx für dich importiert.

Diese Übung ist Teil des Kurses

Einstieg in die Netzwerkanalyse mit Python

Kurs anzeigen

Anleitung zur Übung

  • Schreibe eine Funktion find_nodes_with_highest_deg_cent(G), die die Knoten mit der höchsten Grad-Zentralität zurückgibt. Gehe dabei wie folgt vor:
    • Berechne die Grad-Zentralität von G.
    • Ermittle die maximale Grad-Zentralität mit der Funktion max() auf list(deg_cent.values()).
    • Iteriere über das Dictionary der Grad-Zentralität, deg_cent.items().
    • Wenn der Grad-Zentralitätswert v des aktuellen Knotens k gleich max_dc ist, füge ihn der Knotenmengen hinzu.
  • Nutze deine Funktion, um die Knoten mit der höchsten Grad-Zentralität in T zu finden.
  • Schreibe eine Assertion, die prüft, ob die Knoten korrekt identifiziert wurden. Das ist bereits für dich erledigt – klicke einfach auf 'Antwort senden', um das Ergebnis zu sehen!

Interaktive Übung

Vervollständige den Beispielcode, um diese Übung erfolgreich abzuschließen.

# 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())
Code bearbeiten und ausführen