1. Nauka
  2. /
  3. Kursy
  4. /
  5. Wprowadzenie do analizy sieci w Pythonie

Connected

ćwiczenie

Rekomendowanie współedytorów, którzy jeszcze nie współpracowali

Na koniec wykorzystasz koncepcję otwartych trójkątów, aby rekomendować użytkownikom GitHub potencjalnych współpracowników!

Instrukcje

100 XP
  • Utwórz listę użytkowników GitHub, którym warto zarekomendować wzajemną współpracę. W tym celu:
    • W pierwszej pętli for iteruj po wszystkich węzłach grafu G, uwzględniając metadane (przekazując data=True).
    • W drugiej pętli for iteruj po wszystkich możliwych kombinacjach tworzących trójkąty, korzystając z funkcji combinations() z argumentem size równym 2.
    • Jeśli między n1 a n2 nie istnieje krawędź, współpraca tych dwóch węzłów (użytkowników) powinna zostać zarekomendowana – zwiększ wtedy wartość klucza (n1), (n2) w słowniku recommended. Do sprawdzenia, czy krawędź istnieje, użyj metody .has_edge().
  • Za pomocą wyrażenia listowego wyłoń 10 najlepszych par użytkowników do zarekomendowania. Iterowalnym powinny być pary klucz-wartość słownika recommended (dostępne przez metodę .items()), a warunek powinien być spełniony, gdy count jest większe niż dziesiąta najwyższa wartość w all_counts. Pamiętaj, że all_counts jest posortowane rosnąco, więc dziesiątą najwyższą wartość możesz odczytać jako all_counts[-10].