基于Spark计算网络图中节点之间的Jaccard相似性

打印 上一主题 下一主题

主题 551|帖子 551|积分 1653

基于Spark计算网络图中节点之间的Jaccard相似性

Jaccard 相似度是一种较为常用的衡量两个聚集相似性的指标,用于计算两个聚集的交集与并集的比率。具体来说,它的计算公式为:

在网络图中同样经常使用Jaccard来计算节点之间的相似性,对于图中的每个节点,收集其邻人节点作为一个聚集,然后差异节点之间使用对应的聚集计算节点之间的相似性。这种计算方式考虑的是节点的局部结构,即节点的直接邻人关系。如果两个节点具有较高的 Jaccard 相似度,意味着它们有较多的共同邻人,表明它们在图中的局部结构上非常相似。
Jaccard计算简单,易于理解和实现,在推荐系统(在社交网络或电商平台中,可以使用 Jaccard 相似度来推荐挚友或商品。比方,在社交网络中,具有共同挚友的用户可能更容易成为朋侪。)或是社区发现(在网络图中,相似度较高的节点可能属于同一社区或群体。通过计算节点对之间的 Jaccard 相似度,可以辅助发现社区结构或群体。)等领域都有广泛应用。

  

一、使用Jaccard相似性计算网络图中节点相似性的实现流程



  • 收集全部指向节点的邻人节点(in-degree)
  • 收集全部由节点指出的邻人节点(out-degree)
  • 拼接in-degree和out-degree,获取节点全部的邻人节点
  • 词袋模子编码,为每个节点天生一个特征聚集,方便后续使用Spark自带的MinHashLSH方法加快节点相似度的计算
  • MinHash计算节点之间的相似度,得到最终计算结果
二、什么是MinHashLSH

什么是MinHashLSH
三、完整代码(基于Scala)

完整代码(基于Scala)

总结



免责声明:如果侵犯了您的权益,请联系站长,我们会及时删除侵权内容,谢谢合作!更多信息从访问主页:qidao123.com:ToB企服之家,中国第一个企服评测及商务社交产业平台。

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有账号?立即注册

x
回复

使用道具 举报

0 个回复

倒序浏览

快速回复

您需要登录后才可以回帖 登录 or 立即注册

本版积分规则

愛在花開的季節

金牌会员
这个人很懒什么都没写!

标签云

快速回复 返回顶部 返回列表