Jul*_*les 14
这样做的标准方法是Jaccard相似性.如果A是第一个用户的目标集,而B是第二个用户的目标集,则Jaccard相似度为:
#(A intersect B)/#(A union B)
Run Code Online (Sandbox Code Playgroud)
这是他们共享的目标数除以两者共同投票的总数(计算他们只共享一次的目标).因此,如果第一个用户的目标A = {1,2,3},而第二个用户的目标B = {2,4},那么它是:
A intersect B = {2}
A union B = {1,2,3,4}
#(A intersect B)/#(A union B) = 1/4
Run Code Online (Sandbox Code Playgroud)
Jaccard相似度总是在0(他们没有目标)和1(他们有相同的目标)之间,所以你可以通过乘以100得到一个百分比.
http://en.wikipedia.org/wiki/Jaccard_index