Zacznij terazZacznij za darmo

Rozkład centralności stopnia węzłów użytkowników

W tym ćwiczeniu i kolejnym przypomnisz sobie materiał z poprzedniego kursu. Twoim zadaniem jest wyrysowanie rozkładów centralności stopnia dla każdej partycji węzłów w dwudzielnej wersji sieci współpracy GitHub. Tutaj zrobisz to dla partycji 'users'. W następnym ćwiczeniu zajmiesz się partycją 'projects'.

Funkcja, którą wcześniej napisano, get_nodes_from_partition(), jest już dla ciebie wczytana. Przypomnijmy: „centralność stopnia" to miara ważności węzła, a „rozkład centralności stopnia" to lista wyników centralności stopnia dla wszystkich węzłów w grafie. Kilka ćwiczeń temu, gdy tworzyłeś wykres circos, centralności stopnia zostały obliczone za ciebie. Teraz przećwiczysz to samodzielnie!

To ćwiczenie jest częścią kursu

Analiza sieci w Pythonie – poziom średniozaawansowany

Zobacz kurs

Instrukcje do ćwiczenia

  • Zaimportuj matplotlib.pyplot jako plt.
  • Użyj swojej funkcji get_nodes_from_partition() z poprzedniego ćwiczenia, aby uzyskać listę user_nodes odpowiadającą węzłom 'users' w grafie G.
  • Korzystając z funkcji nx.degree_centrality(), oblicz centralności stopnia dla każdego węzła w G. Wynik zapisz jako dcs.
  • Użyj składni listowej, aby obliczyć centralności stopnia dla każdego węzła w user_nodes. Wynik zapisz jako user_dcs.
    • Pamiętaj, że dcs to słownik, w którym klucze stanowią węzły. Interesujące nas węzły są zawarte w user_nodes. Jak możesz wykorzystać tę informację, aby uzyskać centralności stopnia węzłów użytkowników? Użyj n jako zmiennej iteracyjnej.
  • Wyrysuj histogram rozkładu stopni użytkowników, używając plt.hist() i user_dcs.

Interaktywne ćwiczenie praktyczne

Spróbuj tego ćwiczenia, uzupełniając ten przykładowy kod.

# 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()
Edytuj i uruchom kod