Začněte nyníZačněte zdarma

Metrika podobnosti uživatelů

Napsal/a jsi funkci pro výpočet množiny uzlů sdílených mezi dvěma uzly. Teď napíšeš funkci, která vypočítá metriku podobnosti mezi dvěma uživateli: počet projektů sdílených oběma uživateli dělený celkovým počtem uzlů v druhé části grafu. Tuto metriku pak můžeš využít k nalezení uživatelů, kteří si jsou navzájem podobní.

Toto cvičení je součástí kurzu

Intermediate Network Analysis in Python

Zobrazit kurz

Pokyny k cvičení

  • Dokonči funkci user_similarity() pro výpočet podobnosti mezi user1 a user2.
    • Pomocí příkazů assert ověř, že user1 i user2 patří do části 'users'.
    • Použij svou funkci shared_partition_nodes() z předchozího cvičení k získání množiny uzlů sdílených mezi uživateli user1 a user2.
    • Vrať podíl uzlů v části projects — tedy vyděl počet shared_nodes celkovým počtem uzlů v části 'projects'.
  • Vypočítej skóre podobnosti mezi uživateli 'u4560' a 'u1880'. Postupuj takto:
    • Nejprve získej uzly v části 'projects' pomocí své funkce get_nodes_from_partition().
    • Pak použij svou funkci user_similarity() pro výpočet skóre.

Interaktivní cvičení na vyzkoušení si v praxi

Vyzkoušejte si toto cvičení dokončením tohoto ukázkového kódu.

def user_similarity(G, user1, user2, proj_nodes):
    # Check that the nodes belong to the 'users' partition
    ____ G.nodes[____]['bipartite'] == '____'
    ____ G.nodes[____]['bipartite'] == '____'

    # Get the set of nodes shared between the two users
    shared_nodes = ____

    # Return the fraction of nodes in the projects partition
    return len(____) / len(____)

# Compute the similarity score between users 'u4560' and 'u1880'
project_nodes = ____
similarity_score = ____

print(similarity_score)
Upravit a spustit kód