1. 학습
  2. /
  3. 강의
  4. /
  5. Phân tích mạng nâng cao với Python

Connected

연습 문제

Tìm người dùng tương tự

Giờ bạn sẽ mở rộng những gì đã học để viết một hàm tên là most_similar_users() nhằm tìm những người dùng giống nhất với một người dùng cho trước.

Phần khởi đầu của hàm đã được viết sẵn cho bạn. Một danh sách node user_nodes đã được tạo, chứa tất cả người dùng ngoại trừ người dùng cho trước được truyền vào hàm. Nhiệm vụ của bạn là hoàn thiện hàm để tìm những người dùng giống nhất với người dùng này. Bạn sẽ dùng lại hàm user_similarity() từ bài tập trước để hỗ trợ.

Một dictionary tên similarities đã được thiết lập, trong đó các khóa là điểm số và giá trị là danh sách các node. Nếu bạn chưa từng thấy defaultdict thì đừng lo — bạn sẽ học thêm về nó ở Chương 3! Nó hoạt động giống hệt một dictionary thông thường trong Python.

지침

100 XP
  • Lặp qua user_nodes và tính độ tương đồng giữa user và từng user_node (n) bằng hàm user_similarity() của bạn. Lưu kết quả vào similarity.
  • Thêm điểm số và node vào dictionary similarities. Khóa là điểm số — similarity — và giá trị là node — n.
  • Tính điểm tương đồng lớn nhất. Đầu tiên, truy cập các khóa (chứa điểm số) của similarities bằng phương thức .keys(), sau đó dùng hàm max(). Lưu kết quả vào max_similarity.
  • Trả về danh sách người dùng có độ tương đồng cực đại. Danh sách này là giá trị tại khóa max_similarity của similarities.
  • Dùng hàm most_similar_users() của bạn để in ra danh sách người dùng giống với 'u4560' nhất.