python里怎么计算jaccard相似

  统计/机器学习 推荐系统 描述性统计 Python    浏览次数: 583
1

python里怎么计算jaccard相似


 

剪叔   2017-10-29 08:26



   2个回答 
3

根据Jaccard的定义,用python很容易实现

def jaccard_sim(a, b):
    unions = len(set(a).union(set(b)))
    intersections = len(set(a).intersection(set(b)))
    return 1. * intersections / union


使用

a = ['x', 'y']
b = ['x', 'z', 'v']
print(jaccard_sim(a, b))

得到0.25


雷猴   2017-10-29 11:54

0

sklearn里也有jaccard

文档见这里

但是要求数据进行过encode处理,而且两个数组的长度也必须一样。



阳春面   2017-10-30 09:20



  相关主题

余弦相似的定义是什么?怎么计算?   1回答

两个向量的余弦距离大于1?   1回答

余弦相似和内积的意义?   1回答

推荐系统算法里的cold start是什么意思?   2回答

推荐系统里的ALS是什么意思?   2回答

推荐系统中常用的表示相似或者距离的方法有哪些?   1回答

Jaccard相似或者Jaccard距离是怎么计算的?   1回答

怎么理解推荐系统中的NDCG?   1回答

推荐系统有哪些常用的评价标准   3回答

推荐系统中的召回(recall)是什么意思?   1回答

协同过滤的数据预处理问题   4回答

关于pairwise ranking数据预处理的问题   0回答



回答问题时需要注意什么?

我们谢绝在回答前讲“生动”的故事。

我们谢绝“这么简单,你自己想”、“书上有的,你认真看”这类的回答;如果你认为对方的提问方式或者内容不妥,你可以直接忽略该问题,不用进行任何作答,甚至可以对该问题投反对票。

我们谢绝答非所问。

我们谢绝自己不会、硬要回答。

我们感激每一个用户在编写答案时的努力与付出!