Jaccard相似指数简单解释
Jaccard 相似度指数是两个数据集之间相似度的度量。
由Paul Jaccard开发,该指数范围从 0 到 1。越接近 1,两个数据集越相似。
Jaccard相似指数计算如下:
杰卡德相似度=(两组中的观察值数量)/(任意一组中的观察值数量)
或者,写成记号形式:
J(A, B) = |A∩B| / |A∪B|
如果两个数据集具有完全相同的成员,则它们的 Jaccard 相似度指数将为 1。反之,如果它们没有共同的成员,则它们的相似度将为 0。
以下示例展示了如何计算几个不同数据集的 Jaccard 相似度指数。
示例 1:Jaccard 相似度
假设我们有以下两组数据:
A = [0, 1, 2, 5, 6, 8, 9] B = [0, 2, 3, 4, 5, 7, 9]
为了计算它们之间的杰卡德相似度,我们首先找到两个集合中的观察总数,然后除以任一集合中的观察总数:
- 两者的观测值数量: {0,2,5,9} = 4
- 任一观察值的数量: {0, 1, 2, 3, 4, 5, 6, 7, 8, 9} = 10
- 杰卡德相似度: 4/10 = 0.4
Jaccard 相似度指数结果为0.4 。
示例 2:Jaccard 相似度(续)
假设我们有以下两组数据:
C = [0, 1, 2, 3, 4, 5] D = [6, 7, 8, 9, 10]
为了计算它们之间的杰卡德相似度,我们首先找到两个集合中的观察总数,然后除以任一集合中的观察总数:
- 两者的观察数: {} = 0
- 任一观察值的数量: {0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10} = 11
- 杰卡德相似度: 0/11 = 0
Jaccard 相似度指数结果为0 。这表明这两个数据集不共享任何共同的成员。
示例 3:字符的 Jaccard 相似度
请注意,我们还可以对包含字符而不是数字的数据集使用 Jaccard 相似度索引。
例如,假设我们有以下两组数据:
E = ['cat', 'dog', 'hippo', 'monkey'] F = ['monkey', 'rhino', 'ostrich', 'salmon']
为了计算它们之间的杰卡德相似度,我们首先找到两个集合中的观察总数,然后除以任一集合中的观察总数:
- 两者的观察数量: {‘monkey’} = 1
- 其中之一的观察数: {‘cat’, ‘dog’, hippopotamus’, ‘monkey’, ‘rhino’, ‘ostrich’, ‘salmon’} = 7
- 杰卡德相似度: 1/7 = 0.142857
Jaccard 相似度指数为0.142857 。这个数字相当低,这表明这两个集合有很大不同。
杰卡德距离
杰卡德距离衡量两个数据集之间的差异,计算公式如下:
杰卡德距离 = 1 – 杰卡德相似度
这种测量让我们了解两组数据有多么不同或者它们有多么不同。
例如,如果两个数据集的 Jaccard 相似度为 80%,那么它们的 Jaccard 距离将为 1 – 0.8 = 0.2 或 20%。
其他资源
以下教程解释了如何使用不同的统计软件计算Jaccard相似度: