【问题标题】:Compute the similarity between two lists of objects计算两个对象列表之间的相似度
【发布时间】:2018-08-09 05:07:36
【问题描述】:

我想计算两个不同长度的列表之间的相似度。尤其是相似度要考虑不同的条件:

-给定2个列表A和B,如果A=B则相似度(A,B)=1

-一般来说,如果B包含A,那么相似度(A,B)->1。但是,相似度的衡量也应该考虑到两个列表的元素数量。 (例如,如果 A 包含 1000 个对象,而 B 只包含一个,它也包含在 A 中,则相似度(A,B)->0)。

-Similarity(A,B) 还定义了一个阈值 T。相似度大于 T 的值表明两个列表相似。

余弦相似度可能与这个问题有关,但我不知道如何处理子集和阈值。

我也发现了不同的方法,但是没有指定阈值参数:

-A Similarity Measure for Indefinite Rankings

-Kendall rank correlation coefficient

【问题讨论】:

  • 想要的相似度函数一点都不清楚。有数百万个函数可以满足您的少数要求,但对于相同的输入会给出非常不同的结果。你必须更加精确。
  • 感谢您非常有趣的回答。如您所见,其他用户设法确定了与该问题相关的一些措施。也许通过阅读文章,您将能够更好地理解需求。
  • 要求应该列在问题本身中,而不是在链接的文章中。

标签: algorithm similarity information-retrieval cosine-similarity


【解决方案1】:

我认为您正在寻找某种集合相似性。

两个最突出的措施是Jaccard IndexSørensen–Dice coefficient

【讨论】:

    【解决方案2】:

    在您的情况下,使用 Jaccard similarity coefficient 可能会有所帮助。

    【讨论】:

      猜你喜欢
      • 2012-03-11
      • 1970-01-01
      • 1970-01-01
      • 2011-10-06
      • 2017-08-22
      • 2019-08-05
      • 1970-01-01
      相关资源
      最近更新 更多