1. Učit se
  2. /
  3. Kurzy
  4. /
  5. Intermediate Network Analysis in Python

Connected

Cvičení

Najdi podobné uživatele

Teď navážeš na to, co ses dosud naučil/a, a napíšeš funkci most_similar_users(), která najde uživatele nejpodobnější zadanému uživateli.

Začátek této funkce je už připravený. Byl vytvořen seznam uzlů user_nodes, který obsahuje všechny uživatele kromě uživatele předaného do funkce. Tvým úkolem je funkci dokončit tak, aby našla uživatele nejpodobnější danému uživateli. K tomu využiješ svou funkci user_similarity() z předchozího cvičení.

Byl také připraven slovník similarities, jehož klíče jsou skóre a hodnoty jsou seznamy uzlů. Pokud jsi ještě nepracoval/a s defaultdict, žádný strach – více se o něm dozvíš ve třetí kapitole! Funguje úplně stejně jako běžný slovník v Pythonu.

Pokyny

100 XP
  • Projdi user_nodes v cyklu a pro každý uzel n vypočítej podobnost mezi user a tímto uzlem pomocí funkce user_similarity(). Výsledek ulož jako similarity.
  • Přidej skóre a uzel do slovníku similarities. Klíčem je skóre – similarity – a hodnotou je uzel – n.
  • Vypočítej maximální skóre podobnosti. Nejprve přistup ke klíčům slovníku similarities (které obsahují skóre) pomocí metody .keys() a poté použij funkci max(). Výsledek ulož jako max_similarity.
  • Vrať seznam uživatelů s maximální podobností. Tento seznam je hodnotou klíče max_similarity ve slovníku similarities.
  • Pomocí funkce most_similar_users() vypiš seznam uživatelů nejpodobnějších uživateli 'u4560'.