查看文档,jaccard
in的实现scipy.spatial.distance
是jaccard不相似 ,而不是相似。这是使用jaccard作为度量标准时计算距离的常用方法。这样做的原因是,为了成为度量标准,相同点之间的距离必须为零。
在您的代码中,应将0和1之间的差异最小化。在相异的情况下,其他值也看起来正确。
如果要相似而不是不相似,只需从1中减去不相似即可。
res = 1 - pdist(df[['category1','category2','category3']], 'jaccard')