Trực quan hóa phân phối degree centrality của đồ thị chiếu học viên
Trong bài này, bạn sẽ trực quan hóa phân phối degree centrality của đồ thị chiếu các học viên. Đây là phần ôn tập hai khái niệm bạn đã học: degree centrality và đồ thị chiếu (projection).
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
- Lấy các node thuộc phần
"student"vào một list tên làstudent_nodes.- Dùng list comprehension để làm việc này, lặp qua tất cả node của
G(kèm metadata), và kiểm tra xem từ khóa'bipartite'củadcó bằng'student'hay không.
- Dùng list comprehension để làm việc này, lặp qua tất cả node của
- Tạo đồ thị chiếu của các node học viên và đặt tên là
G_students. Dùng hàmnx.bipartite.projected_graph()và nhớ chỉ định tham số từ khóanodes=student_nodes. - Tính degree centrality của
G_studentsbằngnx.degree_centrality(). Lưu kết quả vàodcs. - Vẽ biểu đồ tần suất (histogram) của các giá trị 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 necessary modules
import matplotlib.pyplot as plt
import networkx as nx
# Get the student partition's nodes: student_nodes
student_nodes = [n for n, d in ____ if d['____'] == '____']
# Create the students nodes projection as a graph: G_students
G_students = ____
# Calculate the degree centrality using nx.degree_centrality: dcs
dcs = ____
# Plot the histogram of degree centrality values
plt.hist(list(____))
plt.yscale('log')
plt.show()