Vẽ degree centrality trên đồ thị chiếu
Ở đây, bạn sẽ so sánh phân phối degree centrality cho từng đồ thị sau: đồ thị gốc G, đồ thị chiếu của người peopleG, và đồ thị chiếu của câu lạc bộ clubsG. Bài này sẽ giúp bạn khắc sâu sự khác biệt trong cách tính điểm degree centrality giữa phiên bản hai phía (bipartite) và một phía (unipartite). Danh sách node people và clubs đã được nạp sẵn cho bạn.
Nhắc lại từ video: các hàm dành cho đồ thị hai phía cần truyền vào một tập chứa các node, nhưng vẫn sẽ trả về điểm degree centrality cho tất cả các node. Cũng nhớ rằng các điểm degree centrality được lưu dưới dạng dictionary (ánh xạ node tới điểm số).
Bài tập này là một phần của khóa học
Phân tích mạng nâng cao với Python
Hướng dẫn bài tập
- Vẽ phân phối degree centrality của đồ thị gốc
G, dùng hàmdegree_centralitytừ module bipartite:nx.bipartite.degree_centrality(). Hàm nhận hai đối số: đồ thịGvà một trong hai danh sách node (peoplehoặcclubs). - Vẽ phân phối degree centrality của đồ thị
peopleG, dùng hàmdegree_centralitythông thường/không-bipartite của NetworkX:nx.degree_centrality(). - Vẽ phân phối degree centrality của đồ thị
clubsG, dùng hàmdegree_centralitythông thường/không-bipartite của NetworkX:nx.degree_centrality().
Bài tập tương tác thực hành trực tiếp
Hãy thử làm bài tập này bằng cách hoàn thành đoạn mã mẫu này.
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()