我有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
吗?
答案 0 :(得分:0)
由于您只想基于网络结构进行相似性,我建议您使用基于全局结构的算法,如SIMRANK,P-RANK等。这将比基于本地结构的相似性度量(如jaccard和余弦)提供更好的结果