jaccard相似度算法

Jaccard相似系数是衡量有限样本集之间相似性和差异性的指标,其值越大,样本集相似度越高。Python中可以实现计算Jaccard相似系数。而杰卡德距离则是1减去Jaccard相似系数,用于衡量两个集合的区分度。虽然Jaccard算法在处理隐式反馈数据如用户收藏行为时适用,但在协同过滤中由于忽略评分因素而不合适。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

Jaccard index, 又称为Jaccard相似系数(Jaccard similarity coefficient)用于比较有限样本集之间的相似性与差异性。Jaccard系数值越大,样本相似度越高。

杰卡德相似系数

两个集合A和B交集元素的个数在A、B并集中所占的比例,称为这两个集合的杰卡德系数,用符号 J(A,B) 表示。杰卡德相似系数是衡量两个集合相似度的一种指标(余弦距离也可以用来衡量两个集合的相似度)。

Python实现:

def jaccard_sim(a, b):
    unions = len(set(a).union(set(b)))
    intersections = len(set(a).intersection(set(b)))
    return intersections / unions
 
a = ['x', 'y']
b = ['x', 'z', 'v']
print(jaccard_sim(a, b))

 

杰卡德距离

杰卡德距离(Jaccard Distance) 是用来衡量两个集合差异性的一种指标,它是杰卡德相似系数的补集,被定义为1减去Jaccard相似系数。

评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值