Tanimoto得分及何时使用

时间:2010-12-29 23:36:58

标签: machine-learning similarity

我读了一个wiki article,它描述了Jaccard索引,并将Tanimoto得分解释为扩展的Jaccard索引,但究竟是什么尝试呢?

它与其他相似度得分有何不同?

何时使用?

谢谢

2 个答案:

答案 0 :(得分:4)

我刚刚阅读了wikipedia文章,所以我只能为你解释内容。

Jaccards得分用于采用离散值的向量,通常用于二进制值(1或0)。 Tanimoto分数用于可以采用连续值的向量。它的设计使得如果向量只取值1和0,它的工作方式与Jaccards相同。

我想你会有Tanimoto的,当你有一个'混合'矢量,它有一些连续值部分和一些二进制值部分。

答案 1 :(得分:0)

  

它到底想做什么?

Tanimoto得分假定每个数据对象都是一个 属性向量。在这种情况下,属性可以是二进制,也可以不是二进制。如果它们都是二进制的,那么Tanimoto方法将简化为Jaccard方法。

T(A,B)= A.B/(||A||2 + ||B||2 - A.B)

在等式中,A和B是向量表示的数据对象。相似度分数 是A和B的点积除以A和B的平方量减去 点积。

  

与其他相似性得分有何不同?

  1. Tanimoto v / s Jaccard :如果属性为 binary ,则Tanimoto会减少为Jaccard Index。

有各种相似性得分,但让我们与最常用的得分进行比较。

  1. Tanimoto v / s Dice

Tanimoto系数是通过查看两个数据对象(数据字符串的交集)共有的属性数量与两个对象中的属性数量(数据对象的并集)。

骰子系数是两个数据对象共有的属性数,相对于当前存在的属性总数总数的平均大小。 (A与B相交)/ 0.5(A + B)

D(A,B) = A.B/(0.5(||A||2 + ||B||2))
  1. 谷本v / s余弦值

要找到两个数据对象之间的余弦相似度,需要两个对象都在矢量中表示其属性。然后将相似性作为两个向量之间的角度进行测量。

Cos(θ) = A.B/(||A||.||B||)

您也可以参考When can two objects have identical Tanimoto and Cosine score.

  1. Tanimoto v / s Pearson

Pearson系数是一种用于发现相似性的复杂方法。该方法在两个数据对象中的属性之间生成一条“最适合”的线。皮尔逊系数可通过以下公式求出:

p(A,B) = cov(A,B)/σAσB

在哪里, cov(A,B)->协方差

σA-> A的标准偏差

σB-> B的标准偏差

系数是通过将协方差除以两个数据对象的属性的标准偏差的乘积得出的。对于未规范化的数据,它更健壮。例如,如果一个人对电影“ a”,“ b”和“ c”分别得分分别为1、2和3进行排名,那么他将与某人对以4、5、5、5、4、5、5、5、5、6、5、5、5、5、5、5、5、5、5、5、5、5、7、10、12、15、15、15、15、15、15、15、15、15、15、15、15、15、15、15、15、15、15、15、15、29和6。

有关Tanimoto得分与其他相似性得分/系数的更多信息,请参考: Why is Tanimoto index an appropriate choice for fingerprint-based similarity calculations?

  

何时使用?

Tanimoto分数可在两种情况下使用:

  • 当属性为二进制时
  • 属性为非二进制

以下应用程序广泛使用Tanimoto得分:

  • 化学信息学
  • 集群
  • P病检测
  • 自动词库提取
  • 可视化高维数据集
  • 分析市场购物交易数据
  • 检测时空数据中的异常