杰卡德系数(Jaccard Index)

2023-10-26

杰卡德系数(Jaccard Index)

杰卡德系数,又称为杰卡德相似系数,用于比较两个样本之间的差异性和相似性。杰卡德系数越高,则两个样本相似度越高。

定义

有两个集合A和B,那么这两个集合的杰卡德系数为A和B的交集除以A和B的并集。
在这里插入图片描述
当集合A,B都为空时,J(A,B)定义为1。
杰卡德距离是杰卡德系数的补集,用来描述两个集合的不相似度。杰卡德距离越大,两个样本相似度越低。
在这里插入图片描述
如有:

集合A={a,b,c,d,e}

集合B={a,b,f,g,h,i}

则:A∩B={a,b},A∪B={a,b,c,d,e,f,g,h,i}。

杰卡德系数为2/9,杰卡德距离为1-2/9。

应用

比较两个集合是否相似,就是比较这两个集合共有元素的占比。因为集合具有互异性,集合中任意两个元素都是不同的对象,集合A中的任意一个元素在集合B中只有两种状态,即存在和不存在(或者可以理解为值是否相等,相等则存在),但无法衡量差异具体值的大小,只能获得“是否相同”这个结果,所以Jaccard系数只关心个体间共同具有的特征是否一致这个问题。因此,杰卡德系数可以用来计算非对称二元属性对象的相似性。

先了解几个基本概念:

数据集由数据对象组成。

一个数据对象代表一个实体。 数据库中行对应数据对象,列对应于属性。

二元属性:取值为0和1的属性,也称为布尔属性。

对称二元属性:属性两个状态值权重相同,比如性别的男和女。

非对称二元属性:属性两个状态值权重不同,比如HIV感染的阳性和阴性,阳性显然更重要些。

举个例子:

比较两部手机的差异,我们可以用一个n维向量来描述这部手机,比如手机有这些特征:1、是否国产 2、是否刘海屏 3、是否安卓系统 4、价格超过5000。我们用1来表示”是“,用0来表示”否“,那么:

手机A的向量为:{1,1,1,0}

手机B的向量为:{0,1,0,1}

这个向量的各个维度数据值可以当做一个集合,A和B的杰卡德系数为:J(A,B)=同维度且维度值相同的个数/总维度数=1/4。

还有一个很有意思的思路,把A和B的两个向量当做两个数组,那么每一列的最小值之和就是两个集合的交集,每一列的最大值之和就是两个集合的并集。

文本相似度

很多文章说杰卡德系数可以用来比较文本相似度,但是杰卡德系数只考虑文本所包含的词的比例,不能衡量词频的差异,所以文本的相似度计算还是余弦相似度更合适。

参考:

Jaccard Index

相似度计算之Jaccard系数

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

杰卡德系数(Jaccard Index) 的相关文章

  • 数据结构视频教程 -《数据结构视频教程 严蔚敏》

    整个视频打包下载地址 史上最全的数据结构视频教程系列分享之 数据结构视频教程 严蔚敏 转载请保留出处和链接 更多优秀资源请访问 我是码农 严蔚敏老师是清华大学计算机系教授 长期从事数据结构教学和教材建设 本教程是数据结构视频教程中的经典之作
  • Spring(十二):bean的加载——创建bean

    回顾 前面已经看了在加载Bean的时候 如何去解决循环依赖的问题 解决完循环依赖 就到创建Bean的步骤了 而创建bean的步骤是紧紧接着 创建Bean实例 Bean根据范围会分为几种 单例 原型 自定义范围 每种范围都会有自己不同的生命周
  • 【Altium designer】PCB 各层简介

    1 Signal Layer 信号层 主要用于放置元件和走线 Top Layer 顶层 Bottom Layer 底层 Mid Layer 中间信号层 2 Mechanical Layer 机械层 3 Keep Out Layer 禁止布线

随机推荐