开始使用免费开始使用

另一分区中的共享节点

为了帮助您建立对推荐系统的概念,我们将从基础开始。本节重点是在二分图中计算用户相似度。

您的任务是编写一个函数,传入两个节点,返回两位用户节点之间共享的仓库节点集合。

在本练习中,以下方法和函数将对您有所帮助:.neighbors()set().intersection(),当然还有您即将定义的 shared_partition_nodes 函数。

本练习是课程的一部分

Python 网络分析中级

查看课程

练习说明

  • 编写名为 shared_partition_nodes() 的函数,接收 3 个参数——图 Gnode1node2——并返回 node1node2 之间共享的节点集合。
    • 使用 assert 语句与 'bipartite' 关键词,检查 node1node2 是否属于同一分区。
    • 获取 node1 的邻居并存为 nbrs1
    • 获取 node2 的邻居并存为 nbrs2
  • 使用集合的 .intersection() 方法计算 nbrs1nbrs2 的重叠。
  • 使用您编写的 shared_partition_nodes() 函数配合 len() 函数,打印用户 'u7909''u2148' 之间共享的仓库数量。

交互式实操练习

通过完成这段示例代码来试试这个练习。

def ____:
    # Check that the nodes belong to the same partition
    assert G.nodes[____]['bipartite'] == G.nodes[____]['bipartite']

    # Get neighbors of node 1: nbrs1
    nbrs1 = ____
    # Get neighbors of node 2: nbrs2
    nbrs2 = ____

    # Compute the overlap using set intersections
    overlap = ____(____).____(____)
    return overlap

# Print the number of shared repositories between users 'u7909' and 'u2148'
print(____(____))
编辑并运行代码