1. Uczyć się
  2. /
  3. Courses
  4. /
  5. Analiza sieci w Pythonie – poziom średniozaawansowany

Connected

Exercise

Znajdź podobnych użytkowników

Czas wykorzystać zdobytą dotychczas wiedzę i napisać funkcję most_similar_users(), która wyszukuje użytkowników najbardziej podobnych do wskazanego użytkownika.

Początek tej funkcji jest już napisany. Przygotowana została lista węzłów user_nodes, zawierająca wszystkich użytkowników z wyjątkiem tego, który został przekazany do funkcji. Twoim zadaniem jest dokończenie funkcji tak, aby znajdowała użytkowników najbardziej podobnych do podanego użytkownika. Skorzystaj przy tym z funkcji user_similarity() z poprzedniego ćwiczenia.

Przygotowany został słownik similarities, w którym klucze to wyniki podobieństwa, a wartości to listy węzłów. Jeśli nie zetknąłeś się wcześniej z defaultdict, nie martw się – więcej na jego temat dowiesz się w rozdziale 3! Działa on dokładnie jak zwykły słownik Pythona.

Instrukcje

100 XP
  • Iteruj po user_nodes i oblicz podobieństwo między user a każdym węzłem user_node (n) za pomocą funkcji user_similarity(). Zapisz wynik jako similarity.
  • Dodaj wynik i węzeł do słownika similarities. Kluczem jest wynik – similarity – a wartością węzeł – n.
  • Oblicz maksymalny wynik podobieństwa. Najpierw pobierz klucze (zawierające wyniki) słownika similarities za pomocą metody .keys(), a następnie użyj funkcji max(). Zapisz wynik jako max_similarity.
  • Zwróć listę użytkowników o maksymalnym podobieństwie. Jest to wartość przypisana do klucza max_similarity w słowniku similarities.
  • Użyj funkcji most_similar_users(), aby wyświetlić listę użytkowników najbardziej podobnych do użytkownika 'u4560'.