python里怎么计算jaccard相似

  统计/机器学习 推荐系统 描述性统计 Python    浏览次数:8053        分享
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


SofaSofa数据科学社区DS面试题库 DS面经

雷猴   2017-10-29 11:54

0

sklearn里也有jaccard

文档见这里

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



SofaSofa数据科学社区DS面试题库 DS面经

阳春面   2017-10-30 09:20



  相关讨论

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

sklearn的cosine_similarity余弦相似怎么用?

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

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

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

pointwise和pairwise推荐排序算法的区别是什么?

余弦相似和内积的意义?

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

怎么给推荐结果增加多样性和随机性?

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

  随便看看

点击率的95%置信区间该怎么算?

怎么把pandas dataframe中的一列转成一个list?

sklearn中的predict_proba方法的返回值的意义

如果样本不是正态分布,还能用t-test或者z-test吗?

怎么提取pandas dataframe中某一列每个字符串的前n个字符?