Python 在scipy中使用pdist计算Jaccard距离

Python 在scipy中使用pdist计算Jaccard距离,python,numpy,scipy,Python,Numpy,Scipy,下面的代码片段将jaccard距离设置为1,而它应该设置为0.5。 另一方面,如果Y=[[1,2,3],[4,2,3]]即如果顺序发生变化,则输出为0.33。但jaccard距离与元素的顺序无关。您能在此建议如何解决此问题吗?的文档字符串比中简洁的摘要更好地描述了计算jaccard计算布尔数组的jaccard-Needham相异性。它对于其他数组类型的行为没有定义,因此不应该传入任意整数数组 它们的顺序不是很清楚,但它们表明顺序很重要:它们说Jaccard距离是“那些不一致的元素u[i]和v[i

下面的代码片段将jaccard距离设置为
1
,而它应该设置为
0.5

另一方面,如果
Y=[[1,2,3],[4,2,3]]
即如果顺序发生变化,则输出为0.33。但jaccard距离与元素的顺序无关。您能在此建议如何解决此问题吗?

的文档字符串比中简洁的摘要更好地描述了计算
jaccard
计算布尔数组的jaccard-Needham相异性。它对于其他数组类型的行为没有定义,因此不应该传入任意整数数组

它们的顺序不是很清楚,但它们表明顺序很重要:它们说Jaccard距离是“那些不一致的元素u[i]和v[i]的比例”,我理解这是两个元素的固定i。这与你的结果是一致的。不管怎样,你检查过他们源代码中的实现了吗?
jaccard
函数()的docstring给出了更好的描述
jaccard
计算布尔数组的jaccard-Needham相异性。它对其他数组类型的行为未定义,因此您不应该传入任意整数数组。最好将该注释转换为答案。。。
import scipy.spatial.distance as dist

Y=[[1,2,3],[2,3,4]]

Q=dist.pdist(Y,'jaccard')

print Q