【发布时间】:2018-01-02 23:18:58
【问题描述】:
我正在尝试找出两个文档之间的 jaccard 相似性。但是,我很难理解函数 sklearn.metrics.jaccard_similarity_score() 在幕后是如何工作的。根据我的理解,Jaccard 的 sim = 文档中术语的交集/文档中术语的联合。
考虑下面的例子: 我对这两个文件的 DTM 是:
array([[1, 1, 1, 1, 2, 0, 1, 0],
[2, 1, 1, 0, 1, 1, 0, 1]], dtype=int64)
高于功能。给我jaccard sim分数
print(sklearn.metrics.jaccard_similarity_score(tf_matrix[0,:],tf_matrix[1,:]))
0.25
我正在尝试自己找到分数:
intersection of terms in both the docs = 4
total terms in doc 1 = 6
total terms in doc 2 = 6
Jaccard = 4/(6+6-4)= .5
有人可以帮助我了解我是否在这里遗漏了一些明显的东西。
【问题讨论】:
标签: python-2.7 scikit-learn similarity