LoslegenKostenlos loslegen

Verteilung der Degree-Centrality der Nutzer-Knoten

In dieser und der nächsten Übung wiederholst du zum Abschluss Stoff aus dem vorherigen Kurs. Deine Aufgabe ist es, die Verteilungen der Degree-Centrality für jede Knotenpartition in der bipartiten Version des GitHub-Kollaborationsnetzwerks zu plotten. Hier machst du das für die 'users'-Partition. In der nächsten Übung machst du es für die 'projects'-Partition.

Die Funktion, die du zuvor geschrieben hast, get_nodes_from_partition(), wurde für dich geladen. Zur Erinnerung: Die „Degree-Centrality“ ist ein Maß für die Wichtigkeit eines Knotens, und die „Degree-Centrality-Verteilung“ ist die Liste der Degree-Centrality-Werte für alle Knoten im Graphen. Vor ein paar Übungen, als du das Circos-Plot erstellt hast, haben wir die Degree-Centrality bereits für dich berechnet. Jetzt übst du, das selbst zu tun!

Diese Übung ist Teil des Kurses

Fortgeschrittene Netzwerkanalyse in Python

Kurs anzeigen

Anleitung zur Übung

  • Importiere matplotlib.pyplot als plt.
  • Verwende deine Funktion get_nodes_from_partition() aus der vorherigen Übung, um eine Liste namens user_nodes zu erhalten, die den 'users'-Knoten von G entspricht.
  • Berechne mit der Funktion nx.degree_centrality() die Degree-Centrality für jeden Knoten in G. Speichere das Ergebnis als dcs.
  • Verwende eine List-Comprehension, um die Degree-Centrality für jeden Knoten in user_nodes zu berechnen. Speichere das Ergebnis als user_dcs.
    • Denk daran: dcs ist ein Dictionary, dessen Schlüssel die Knoten sind. Die relevanten Knoten hier sind in user_nodes enthalten. Wie kannst du diese Information nutzen, um die Degree-Centrality der Nutzer-Knoten zu erhalten? Verwende n als deine Iterationsvariable.
  • Plotte ein Histogramm der Degree-Verteilung der Nutzer mit plt.hist() und user_dcs.

Interaktive Übung

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

# Import matplotlib
____

# Get the 'users' nodes: user_nodes
user_nodes = ____

# Compute the degree centralities: dcs
dcs = ____

# Get the degree centralities for user_nodes: user_dcs
user_dcs = [dcs[____] for n in ____]

# Plot the degree distribution of users_dcs
plt.yscale('log')
plt.hist(____, bins=20)
plt.show()
Code bearbeiten und ausführen