Визуализация центральности по степени на проекции
В этом упражнении вы сравните распределения центральности по степени для трёх графов: исходного графа G, проекции на людей peopleG и проекции на клубы clubsG. Это поможет вам лучше понять разницу в вычислении центральности по степени между двудольными и однодольными версиями соответствующих метрик. Списки узлов people и clubs уже загружены для вас.
Напомним из видео: двудольные функции требуют передачи контейнера узлов, однако возвращают оценки центральности по степени для всех узлов. Также помните, что оценки центральности по степени хранятся в виде словарей, сопоставляющих узел с его оценкой.
Это упражнение является частью курса
Средний уровень сетевого анализа на Python
Инструкции к упражнению
- Постройте распределение центральности по степени для исходного графа
G, используя функциюdegree_centralityиз двудольного модуля:nx.bipartite.degree_centrality(). Она принимает два аргумента: графGи один из списков узлов (peopleилиclubs). - Постройте распределение центральности по степени для графа
peopleG, используя обычную (не двудольную) функциюdegree_centralityиз NetworkX:nx.degree_centrality(). - Постройте распределение центральности по степени для графа
clubsG, используя обычную (не двудольную) функциюdegree_centralityиз NetworkX:nx.degree_centrality().
Интерактивное практическое упражнение
Попробуйте выполнить это упражнение, дополнив этот пример кода.
import matplotlib.pyplot as plt
# Plot the degree centrality distribution of both node partitions from the original graph
plt.figure()
original_dc = ____
# Remember that you can directly plot dictionary values.
plt.hist(____, alpha=0.5)
plt.yscale('log')
plt.title('Bipartite degree centrality')
plt.show()
# Plot the degree centrality distribution of the peopleG graph
plt.figure()
people_dc = ____
plt.hist(____)
plt.yscale('log')
plt.title('Degree centrality of people partition')
plt.show()
# Plot the degree centrality distribution of the clubsG graph
plt.figure()
clubs_dc = ____
plt.hist(____)
plt.yscale('log')
plt.title('Degree centrality of clubs partition')
plt.show()