ÎncepețiÎncepe gratuit

Metrică de similaritate între utilizatori

Acum că ai scris o funcție pentru a calcula mulțimea nodurilor comune dintre doi utilizatori, vei scrie o funcție care să calculeze o metrică de similaritate între aceștia: numărul de proiecte comune împărțit la numărul total de noduri din cealaltă partiție. Aceasta poate fi folosită ulterior pentru a identifica utilizatori similari.

Acest exercițiu face parte din cursul

Analiză intermediară a rețelelor în Python

Vezi cursul

Instrucțiuni pentru exercițiu

  • Completează funcția user_similarity() pentru a calcula similaritatea dintre user1 și user2.
    • Folosește instrucțiuni assert pentru a verifica că user1 și user2 aparțin partiției 'users'.
    • Folosește funcția shared_partition_nodes() din exercițiul anterior pentru a obține mulțimea nodurilor comune dintre cei doi utilizatori, user1 și user2.
    • Returnează fracția de noduri din partiția projects, adică împarte numărul de shared_nodes la numărul total de noduri din partiția 'projects'.
  • Calculează scorul de similaritate dintre utilizatorii 'u4560' și 'u1880'. Pentru aceasta:
    • Obține mai întâi nodurile din partiția 'projects' folosind funcția get_nodes_from_partition().
    • Apoi, folosește funcția user_similarity() pentru a calcula scorul.

Exercițiu interactiv practic

Încearcă acest exercițiu completând acest cod de exemplu.

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)
Editează și rulează codul