我试图通过使用两个不同的数据集来计算通过余弦相似性的用户 - 用户相似性(用户是相同的,因为被认为用于获得相似性的特征在数据集之间是不同的)。现在,有没有办法可以判断这两个数据集基于相似度值有多相似?
答案 0 :(得分:0)
我认为这里的答案应该是否定的,除非这两个数据集中没有共同特征(如果它们只有单位不同,你可以将它们标准化并使用它们)。例如,您不能使用两个不同的数据集向用户推荐电影,其中一个仅包含用户的年龄和性别,而另一个仅包含用户喜欢的喜欢的类型,并比较两个结果。
此外,您的查询向量还应具有与相似性搜索算法使用的数据集相同的功能。
在您的情况下,如果查询具有两个数据集的特征,您可以在它们中找到k个最近邻居(例如)并返回它们两者,即2k结果。但是你不能在两对k NN中选择最好的NN。我还建议找到合并两个数据集的方法,而不是遵循这种方法。
编辑: 我误解了这个问题。如果两个数据集中的用户相同,则应合并它们(最好使用“用户ID”列),然后使用新数据集计算用户之间的相似度。
关于数据集相似性的问题在这种情况下没有多大意义。