我有一张桌子:
x y z
A 2 0 3
B 0 3 0
C 0 0 4
D 1 4 0
我想在 Matlab 中计算向量 A、B、C 和 D 之间的 Jaccard 相似度。公式为:
在这个公式中 |x| 和 |y| 表示不为零的项目数。例如 |A| 不为零的项目数为 2,对于 |B| 和 |C| 它是 1,对于 |D| 是2。
|x 与 y 相交| 表示不为零的常见项目的数量。|A 相交 B| 为 0。|A 相交 D| 是 1,因为两者中 x 的值都不为零。
例如:jaccard(A,D)= 1/3=0.33
如何在 Matlab 中实现这一点?