Bắt đầu ngayBắt đầu miễn phí

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

Xem khóa học

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ủa d có bằng 'student' hay không.
  • Tạo đồ thị chiếu của các node học viên và đặt tên là G_students. Dùng hàm nx.bipartite.projected_graph() và nhớ chỉ định tham số từ khóa nodes=student_nodes.
  • Tính degree centrality của G_students bằng nx.degree_centrality(). Lưu kết quả vào dcs.
  • 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() 
Chỉnh sửa và Chạy Mã