Đào sâu - Mạng Twitter
Bây giờ bạn sẽ đào sâu vào một mạng Twitter để củng cố những gì đã học. Trước hết, bạn sẽ tìm các nút có thể truyền thông điệp rất hiệu quả tới nhiều người chỉ cách một bậc kết nối.
NetworkX đã được nhập sẵn cho bạn dưới tên nx.
Bài tập này là một phần của khóa học
Nhập môn Phân tích Mạng bằng Python
Hướng dẫn bài tập
- Viết hàm
find_nodes_with_highest_deg_cent(G)trả về (các) nút có độ trung tâm bậc cao nhất theo các bước sau:- Tính độ trung tâm bậc của
G. - Tính giá trị độ trung tâm bậc lớn nhất bằng cách dùng hàm
max()trênlist(deg_cent.values()). - Lặp qua từ điển độ trung tâm bậc,
deg_cent.items(). - Nếu giá trị độ trung tâm bậc
vcủa nút hiện tạikbằngmax_dc, hãy thêm nó vào tập các nút.
- Tính độ trung tâm bậc của
- Dùng hàm của bạn để tìm (các) nút có độ trung tâm bậc cao nhất trong
T. - Viết một câu lệnh khẳng định (assertion) để kiểm tra rằng (các) nút đã được xác định đúng. Việc này đã được làm sẵn cho bạn, nên hãy nhấn "Gửi câu trả lời" để xem kết quả!
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.
# Define find_nodes_with_highest_deg_cent()
def find_nodes_with_highest_deg_cent(G):
# Compute the degree centrality of G: deg_cent
deg_cent = ____
# Compute the maximum degree centrality: max_dc
max_dc = ____
nodes = set()
# Iterate over the degree centrality dictionary
for k, v in ____:
# Check if the current value has the maximum degree centrality
if ____ == ____:
# Add the current node to the set of nodes
____
return nodes
# Find the node(s) that has the highest degree centrality in T: top_dc
top_dc = ____
print(top_dc)
# Write the assertion statement
for node in top_dc:
assert nx.degree_centrality(T)[node] == max(nx.degree_centrality(T).values())