Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/algorithm/10.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Algorithm 如何计算facebook上两个用户的相似度?_Algorithm_Similarity - Fatal编程技术网

Algorithm 如何计算facebook上两个用户的相似度?

Algorithm 如何计算facebook上两个用户的相似度?,algorithm,similarity,Algorithm,Similarity,我正在做一个关于数据挖掘的项目。我的公司已经给了我600万Facebook的虚拟客户信息。我被指派去找出任何两个用户之间的相似性。谁能给我一些如何处理大型社区数据的想法?提前感谢:) 问题:我使用状态信息和hashtag信息(hashtags是用户突出显示的词)作为两个标准来衡量两个不同用户之间的相似性。由于用户数量庞大,尤其是每个用户可能有数百万个标签和状态。有谁能告诉我一个快速计算两个用户之间相似性的好方法吗?我曾尝试使用TF-IDF计算两个不同用户之间的相似性,但似乎不可行。谁能有一个超级

我正在做一个关于数据挖掘的项目。我的公司已经给了我600万Facebook的虚拟客户信息。我被指派去找出任何两个用户之间的相似性。谁能给我一些如何处理大型社区数据的想法?提前感谢:)

问题:我使用状态信息和hashtag信息(hashtags是用户突出显示的词)作为两个标准来衡量两个不同用户之间的相似性。由于用户数量庞大,尤其是每个用户可能有数百万个标签和状态。有谁能告诉我一个快速计算两个用户之间相似性的好方法吗?我曾尝试使用TF-IDF计算两个不同用户之间的相似性,但似乎不可行。谁能有一个超级算法或好主意,让我快速找到用户之间的所有相似之处

例如:

user A's hashtag = `{cat, bull, cow, chicken, duck}`
user B's hashtag =`{cat, chicken, cloth}` 
user C's hashtag = `{lenovo, Hp, Sony}`
显然,C与A没有关系,因此不需要计算相似度来浪费时间,我们可以在计算相似度之前先过滤掉所有不相关的用户。事实上,超过90%的用户与特定用户无关。如何使用hashtag作为标准来快速找到某个用户组中潜在的相似用户组?这是个好主意吗?或者我们直接计算A和所有其他用户之间的相对相似性?对于这个问题,哪种算法是最快的自定义算法?

用户向量表示法 使用您定义的内容是可以的。您还可以包括facebook
likes
,这很好地体现了用户的兴趣

相似函数 或相似性适合您的情况

为给定用户查找类似用户 方法 首先构造k-d树,然后对于任何给定的用户,您可以为该用户启动查询,kd树能够根据相似性函数返回您的k-最近邻。在C++中的一个很好的实现是.< /p>
位置敏感哈希法
方法 将用户散列到不同的存储桶中。相似的用户被散列在一起的概率更高。因此,对于类似的用户搜索,您只能比较同一个bucket中的用户。 检查以下示例:

聚类
方法 尝试像这样的聚类算法。这可能是您将用户分组到少量集群中的第一步,然后您可以对组中的所有用户对进行
O(n^2)
比较

协同过滤
方法。 将这些喜好或标签视为用户喜欢的项目。您可以尝试协作过滤方法。对于数百万用户,您可能希望使用一些基于map reduce的实现,例如