ПочатиПочніть безкоштовно

Розподіл ступеневої центральності вузлів користувачів

У цій вправі та наступній ви зробите фінальний повтор матеріалу з попереднього курсу. Ваше завдання — побудувати розподіли ступеневої центральності для кожної частини вузлів у двочастковій версії мережі співпраці GitHub. Тут ви зробите це для частини 'users'. У наступній вправі ви зробите це для частини 'projects'.

Функція, яку ви писали раніше, get_nodes_from_partition(), уже завантажена для вас. Нагадаємо: «ступенева центральність» — це міра важливості вершини, а «розподіл ступеневої центральності» — це список значень ступеневої центральності для всіх вершин у графі. Кілька вправ тому, коли ви будували циркос-діаграму, ми обчислювали ступеневі центральності за вас. Тепер ви потренуєтеся робити це самостійно!

Ця вправа є частиною курсу

Середній рівень Network Analysis у Python

Переглянути курс

Інструкції до вправи

  • Імпортуйте matplotlib.pyplot як plt.
  • Використайте вашу функцію get_nodes_from_partition() з попередньої вправи, щоб отримати список user_nodes, який відповідає вузлам 'users' графа G.
  • За допомогою функції nx.degree_centrality() обчисліть ступеневі центральності для кожної вершини в G. Збережіть результат у змінній dcs.
  • Використайте list comprehension, щоб обчислити ступеневі центральності для кожної вершини в user_nodes. Збережіть результат у user_dcs.
    • Пам'ятайте, dcs — це словник, де ключі — це вершини. Потрібні вершини містяться в user_nodes. Як можна використати цю інформацію, щоб отримати ступеневі центральності вузлів користувачів? Використайте n як змінну-ітератор.
  • Побудуйте гістограму розподілу ступеневої центральності користувачів за допомогою plt.hist() і user_dcs.

Інтерактивна практична вправа

Спробуйте виконати цю вправу, доповнивши цей зразок коду.

# 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()
Редагувати та запускати код