CommencezCommencez gratuitement

Mesure de similarité entre utilisateurs

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

Cette activité fait partie du cours

Analyse de réseaux intermédiaire en Python

Voir le cours

Instructions de l’exercice

  • 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'.
    • Ré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 ce faire :
    • Obtenez d'abord 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 ce code d’exemple.

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