跳到内容

这些函数基于顶点的连接模式计算相似度得分。

用法

similarity(
  graph,
  vids = V(graph),
  mode = c("all", "out", "in", "total"),
  loops = FALSE,
  method = c("jaccard", "dice", "invlogweighted")
)

参数

graph

输入图。

vids

计算相似度的顶点ID。

mode

用于计算的相邻顶点的类型,可能的值:‘out’,‘in’,‘all’。

loops

是否在邻居集合中包含顶点自身。

method

要使用的方法。

一个length(vids) x length(vids) 数值矩阵,包含相似度得分。该参数会被invlogweighted方法忽略。

详细信息

两个顶点的Jaccard相似系数是共同邻居的数量除以至少是两个被考虑顶点之一的邻居的顶点数量。jaccard方法计算某些(或所有)顶点的成对Jaccard相似度。

两个顶点的Dice相似系数是共同邻居数量的两倍除以顶点的度数之和。dice方法计算某些(或所有)顶点的成对Dice相似度。

两个顶点的反向对数加权相似度是其共同邻居的数量,按其度数的反向对数加权。它基于以下假设:如果两个顶点共享一个低度共同邻居,则应认为它们更相似,因为即使纯粹偶然,也更有可能出现高度共同邻居。孤立的顶点将与任何其他顶点具有零相似度。不计算自相似性。有关更多详细信息,请参见以下论文:Lada A. Adamic 和 Eytan Adar:网络上的朋友和邻居。社会网络,25(3):211-230, 2003。

参考文献

Lada A. Adamic 和 Eytan Adar:网络上的朋友和邻居。Social Networks, 25(3):211-230, 2003.

参见

其他共引:cocitation()

作者

Tamas Nepusz ntamas@gmail.com 和 Gabor Csardi csardi.gabor@gmail.com编写本手册页。

示例


g <- make_ring(5)
similarity(g, method = "dice")
#>      [,1] [,2] [,3] [,4] [,5]
#> [1,]  1.0  0.0  0.5  0.5  0.0
#> [2,]  0.0  1.0  0.0  0.5  0.5
#> [3,]  0.5  0.0  1.0  0.0  0.5
#> [4,]  0.5  0.5  0.0  1.0  0.0
#> [5,]  0.0  0.5  0.5  0.0  1.0
similarity(g, method = "jaccard")
#>           [,1]      [,2]      [,3]      [,4]      [,5]
#> [1,] 1.0000000 0.0000000 0.3333333 0.3333333 0.0000000
#> [2,] 0.0000000 1.0000000 0.0000000 0.3333333 0.3333333
#> [3,] 0.3333333 0.0000000 1.0000000 0.0000000 0.3333333
#> [4,] 0.3333333 0.3333333 0.0000000 1.0000000 0.0000000
#> [5,] 0.0000000 0.3333333 0.3333333 0.0000000 1.0000000