根据网络图的相似性排名前10位的朋友

时间:2016-04-08 07:11:11

标签: r social-networking igraph similarity

我有1000个用户,以及他们网络的邻接列表。我正在使用igraph库。

我用:

创建了图表
graph.adjlist(adjlist, mode = c("out", "in", "all", "total"),duplicate = TRUE) 

然后找出每个用户之间的相似性:

similarity.jaccard(graph, vids, mode, loops)

同样地,我使用invlogweighted, dice etc来获得相似性。问题是,我想为每个用户top 10 most close friends(仅基于网络图)。但我没有得到适当的权重,即大多数用户彼此具有相同的相似性,尽管他们的连接数量不同。

我希望每个用户之间有不同的权重,以便我可以选择top 10 based on weights。有什么东西可以帮助我获得top 10 friends of a user吗?

1 个答案:

答案 0 :(得分:0)

由于您只想基于网络结构进行相似性,我建议您使用基于全局结构的算法,如SIMRANK,P-RANK等。这将比基于本地结构的相似性度量(如jaccard和余弦)提供更好的结果

本文是一个很好的资源来了解它。 http://delivery.acm.org/10.1145/2780000/2776894/a15-chen.pdf?ip=1.186.134.39&id=2776894&acc=ACTIVE%20SERVICE&key=045416EF4DDA69D9%2E517DE04875AE9835%2E4D4702B0C3E38B35%2E4D4702B0C3E38B35&CFID=820582987&CFTOKEN=27992587&acm=1508403880_47ba9366223f4aba0e4a217dee002e25