CommencerCommencer gratuitement

Métrique de similarité entre utilisateurs

Après avoir écrit une fonction qui calcule l’ensemble des nœuds partagés entre deux nœuds, vous allez maintenant écrire une fonction pour calculer une métrique de similarité entre deux utilisateurs : le nombre de projets partagés entre deux utilisateurs divisé par le nombre total de nœuds dans l’autre partition. Vous pourrez ensuite l’utiliser pour trouver des utilisateurs similaires.

Cet exercice fait partie du cours

Analyse de réseaux intermédiaire en Python

Afficher le cours

Instructions

  • Complétez la fonction user_similarity() pour calculer la similarité entre user1 et user2.
    • Utilisez des instructions assert pour vérifier que user1 et user2 appartiennent à la partition 'users'.
    • Utilisez votre fonction shared_partition_nodes() de l’exercice précédent pour obtenir l’ensemble des nœuds partagés entre les deux utilisateurs user1 et user2.
    • Retournez la fraction par rapport aux nœuds de la partition projects. Autrement dit, divisez le nombre de shared_nodes par le nombre total de nœuds dans la partition 'projects'.
  • Calculez le score de similarité entre les utilisateurs 'u4560' et 'u1880'. Pour cela :
    • Commencez par récupérer les nœuds de la partition 'projects' à l’aide de votre fonction get_nodes_from_partition().
    • Utilisez ensuite votre fonction user_similarity() pour calculer le score.

Exercice interactif pratique

Essayez cet exercice en complétant cet exemple de code.

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)
Modifier et exécuter le code