ПочатиПочніть безкоштовно

Метрика подібності користувачів

Після того як ви написали функцію для обчислення множини вузлів, спільних для двох вузлів, тепер ви реалізуєте функцію для розрахунку метрики подібності між двома користувачами: кількість проєктів, спільних для двох користувачів, поділена на загальну кількість вузлів в іншій частці (partition). Це дасть змогу знаходити користувачів, схожих один на одного.

Ця вправа є частиною курсу

Середній рівень Network Analysis у Python

Переглянути курс

Інструкції до вправи

  • Доповніть функцію user_similarity() для обчислення подібності між user1 і user2.
    • Використайте оператори assert, щоб перевірити, що user1 і user2 належать до частки 'users'.
    • Скористайтеся своєю функцією shared_partition_nodes() з попередньої вправи, щоб отримати множину вузлів, спільних для користувачів user1 і user2.
    • Поверніть частку від кількості вузлів у частці projects. Тобто поділіть кількість shared_nodes на загальну кількість вузлів у частці 'projects'.
  • Обчисліть показник подібності між користувачами 'u4560' і 'u1880'. Для цього:
    • Спершу отримайте вузли в частці 'projects', використавши вашу функцію get_nodes_from_partition().
    • Потім застосуйте функцію user_similarity(), щоб розрахувати показник.

Інтерактивна практична вправа

Спробуйте виконати цю вправу, доповнивши цей зразок коду.

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)
Редагувати та запускати код