1. Học hỏi
  2. /
  3. Khoa Học
  4. /
  5. Phân tích mạng nâng cao với Python

Connected

Bài tập

Tìm các diễn đàn phổ biến nhất theo ngày: II

Làm rất tốt ở bài trước — bạn đã viết mã để tạo danh sách đồ thị chuỗi thời gian. Giờ, bạn sẽ hoàn tất bài đó — tức là bạn sẽ tìm xem mỗi ngày có bao nhiêu diễn đàn đạt điểm phổ biến nhất!

Một việc bạn sẽ làm ở đây là “dictionary comprehension” để lọc một dictionary. Nó rất giống với list comprehension để lọc danh sách, chỉ khác là cú pháp trông như thế này: {key: val for key, val in dict.items() if ...}. Hãy ghi nhớ điều đó!

Hướng dẫn

100 XP
  • Lấy degree centrality bằng nx.bipartite.degree_centrality(), với G_sub và forum_nodes làm đối số.
  • Lọc dictionary để chỉ còn các degree centrality của diễn đàn. Cặp key: val trong biểu thức đầu ra phải là n, dc. Lặp qua dc.items() và kiểm tra n có thuộc forum_nodes hay không.
  • Xác định (các) diễn đàn phổ biến nhất — tức là có degree centrality cao nhất (max(forum_dcs.values())) và giá trị DC của nó không bằng 0.
  • Thêm các giá trị dc cao nhất vào highest_dcs.
  • Tạo biểu đồ!
    • Dùng list comprehension cho biểu đồ đầu tiên, trong đó bạn lặp qua most_popular_forums (một danh sách các danh sách) dùng forums làm biến lặp. Biểu thức đầu ra nên là số lượng diễn đàn phổ biến nhất, tính bằng len().
    • Với biểu đồ thứ hai, dùng highest_dcs và plt.plot() để trực quan hóa điểm degree centrality cao nhất.