Aan de slagGa gratis aan de slag

Deep dive - Twitter-netwerk

Je gaat nu een deep dive doen in een Twitter-netwerk, zodat je oefent met wat je eerder hebt geleerd. Eerst ga je de nodes vinden die berichten heel efficiënt kunnen uitzenden naar veel mensen op één graad afstand.

NetworkX is al voor je geïmporteerd als nx.

Deze oefening maakt deel uit van de cursus

Introductie tot netwerkanalyse in Python

Cursus bekijken

Oefeninstructies

  • Schrijf een functie find_nodes_with_highest_deg_cent(G) die de node(s) met de hoogste graadcentraliteit teruggeeft met de volgende stappen:
    • Bereken de graadcentraliteit van G.
    • Bereken de maximale graadcentraliteit met de functie max() op list(deg_cent.values()).
    • Itereer over het graadcentraliteitswoordenboek, deg_cent.items().
    • Als de graadcentraliteitswaarde v van de huidige node k gelijk is aan max_dc, voeg die dan toe aan de set met nodes.
  • Gebruik je functie om de node(s) te vinden met de hoogste graadcentraliteit in T.
  • Schrijf een assertie die controleert of de node(s) correct zijn geïdentificeerd. Dit is al voor je gedaan, dus klik op 'Antwoord verzenden' om het resultaat te zien!

Praktische interactieve oefening

Probeer deze oefening eens door deze voorbeeldcode in te vullen.

# 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 bewerken en uitvoeren