(1)杰卡德相似系数

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

jaccard值越大说明相似度越高。

(2)杰卡德距离

与杰卡德相似系数相反的概念是杰卡德距离(Jaccard Distance),可以用如下公式来表示:

杰卡德距离用两个两个集合中不同元素占所有元素的比例来衡量两个集合的区分度。

jaccard相似度的缺点是值适用于二元数据的集合。

(3)杰卡德相似系数的应用

假设样本A和样本B是两个n维向量,而且所有维度的取值都是0或1。例如,A(0,1,1,0)和B(1,0,1,1)。我们将样本看成一个集合,1表示集合包含该元素,0表示集合不包含该元素。

p:样本A与B都是1的维度的个数

q:样本A是1而B是0的维度的个数

r:样本A是0而B是1的维度的个数

s:样本A与B都是0的维度的个数

那么样本A与B的杰卡德相似系数可以表示为:

此处分母之所以不加s的原因在于:

对于杰卡德相似系数或杰卡德距离来说,它处理的都是非对称二元变量。非对称的意思是指状态的两个输出不是同等重要的,例如,疾病检查的阳性和阴性结果。

按照惯例,我们将比较重要的输出结果,通常也是出现几率较小的结果编码为1(例如HIV阳性),而将另一种结果编码为0(例如HIV阴性)。给定两个非对称二元变量,两个都取1的情况(正匹配)认为比两个都取0的情况(负匹配)更有意义。负匹配的数量s认为是不重要的,因此在计算时忽略。

再举一例:

举一个非对称(注意这里强调非对称)二元属性的相似度

已知有序集合A,B,每个集合都含有n个二元的属性,即每个属性都是0或1,

M11表示A和B对应位都是1的属性的数量

M10表示A中为1,B中对应位为0的总数量

M01表示A中为0,B中对应位为1的总数量

M00表示对应位都为0的总数量

M11+M10+M01+M00=n

Jaccard 相似度:

jaccard距离:

这里有人会有疑问,jaccard相似度是指交集和并集的比值,这里J的分子为什么只有M11没有M00,这是因为我们求的是非对称二元属性的相似度,这里只有非0值才受关注,比如考虑普通人的健康状况,属性集合(糖尿病,心脏病,精神病,。。。),糖尿病指标0表示没有糖尿病,1表示糖尿病,心脏病指标0表示没有心脏病,1表示心脏病,比较两个人的患病情况,我们只关注有病的情况。所以分子和分母中没有M00

(4)杰卡德相似度算法分析

杰卡德相似度算法没有考虑向量中潜在数值的大小,而是简单的处理为0和1,不过,做了这样的处理之后,杰卡德方法的计算效率肯定是比较高的,毕竟只需要做集合操作。

Jaccard系数主要用于计算符号度量或布尔值度量的个体间的相似度,无法衡量差异具体值的大小,只能获得“是否相同”这个结果,所以Jaccard系数只关心个体间共同具有的特征是否一致这个问题。

推荐算法之Jaccard相似度与Consine相似度

对于个性化推荐来说,最核心、重要的算法是相关性度量算法。相关性从网站对象来分,可以针对商品、用户、旺铺、资讯、类目等等,从计算方式看可以分为文本相关性计算和行为相关性计算,具体的实现方法有很多种,最常用的方法有余弦夹角(Cosine)方法、杰卡德(Jaccard)方法等。Google对新闻的相似性计算采用的是余弦夹角,CBU的个性化推荐以往也主要采用此方法。从9月份开始,CBU个性化推荐团队实现了杰卡德计算方法计算文本相关性和行为相关性,并且分别在线上做了算法效果测试。本文基于测试结果,进行了对比及一些分析比较。

行为相关性的度量比较:在CTR(曝光点击率)指标上,针对行为相关性计算的Jaccard的推荐精准度比Cosine方法要高的多。

文本相关性的度量比较:cosine好一点点,但是Jaccard利于map/red计算

Jaccard系数主要的应用的场景

Jaccard的应用很广,最常见的应用就是求两个文档的文本相似度,通过一定的办法(比如shinging)对文档进行分词,构成词语的集合,再计算Jaccard相似度即可。当然,用途还有很多,不过大多需要结合其他的技术。比如:

  1. 过滤相似度很高的新闻,或者网页去重

  1. 考试防作弊系统

  1. 论文查重系统

  1. 计算对象间距离,用于数据聚类等。

参考地址,感谢各位作者:

https://www.cnblogs.com/chaosimple/p/3160839.html

https://www.cnblogs.com/arachis/p/Similarity.html

https://blog.csdn.net/u010700335/article/details/72626997?locationNum=3&fps=1

https://blog.csdn.net/u012836354/article/details/79103099

https://blog.csdn.net/bananaml/article/details/52894295

https://blog.mythsman.com/2016/09/16/1/

http://blog.sina.com.cn/s/blog_4b59de07010166z9.html

https://baike.baidu.com/item/Jaccard%E7%B3%BB%E6%95%B0/6784913?fr=aladdin

杰卡德相似系数(Jaccardsimilarity coefficient)相关推荐

  1. 机器学习中的数学——距离定义(十三):杰卡德距离(Jaccard Distance)和杰卡德相似系数(Jaccard Similarity Coefficient)

    分类目录:<机器学习中的数学>总目录 相关文章: · 距离定义:基础知识 · 距离定义(一):欧几里得距离(Euclidean Distance) · 距离定义(二):曼哈顿距离(Manh ...

  2. R语言计算杰卡德相似系数(Jaccard Similarity)实战:自定义函数计算Jaccard相似度、对字符串向量计算Jaccard相似度、将Jaccard相似度转化为Jaccard距离

    R语言计算杰卡德相似系数(Jaccard Similarity)实战:自定义函数计算Jaccard相似度.对字符串向量计算Jaccard相似度.将Jaccard相似度转化为Jaccard距离 目录 R ...

  3. ML:图像数据、字符串数据等计算相似度常用的十种方法(余弦相似性、皮尔逊、闵可夫斯基距离/曼哈顿距离/欧氏距离/切比雪夫距离、马氏距离、汉明距离、编辑距离、杰卡德相似系数、相对熵/KL散度、Helli

    ML:图像数据.字符串数据等计算相似度常用的十种方法(余弦相似性.皮尔逊.闵可夫斯基距离/曼哈顿距离/欧氏距离/切比雪夫距离.马氏距离.汉明距离.编辑距离.杰卡德相似系数.相对熵/KL散度.Helli ...

  4. 简单粗暴理解与实现机器学习之K-近邻算法(三):距离度量、欧氏距离、曼哈顿距离、切比雪夫距离、闵可夫斯基距离、标准化距离、余弦距离、汉明距离、杰卡德距离、马氏距离

    K-近邻算法 文章目录 K-近邻算法 学习目标 1.3 距离度量 1 欧式距离**(Euclidean Distance):** 2 **曼哈顿距离(Manhattan Distance):** 3 ...

  5. K邻近算法概述、欧式距离、Scikit-learn使用 、kNN邻近算法距离度量、曼哈顿距离、切比雪夫距离、闵可夫斯基距离、标准化欧氏距离、余弦距离、汉明距离、杰卡德距离、马氏距离

    一.K-邻近算法概述 K邻近算(K Nearest Neighbor算法,KNN算法):如果一个样本在特征空间中的k个最相似(即特征空间中最邻近)的样本中的大多数属于某一个类别,则该样本也属于这个类别 ...

  6. 余弦距离、欧氏距离和杰卡德(Jaccard)相似性度量的比较

    1.余弦距离 余弦距离,也称为余弦相似度,是用向量空间中两个向量夹角的余弦值作为衡量两个个体间差异的大小的度量. 向量,是多维空间中有方向的线段,如果两个向量的方向一致,即夹角接近零,那么这两个向量就 ...

  7. 向量点积衡量相似度_余弦距离、欧氏距离和杰卡德相似性度量的对比分析

    1.余弦距离 余弦距离,也称为余弦相似度,是用向量空间中两个向量夹角的余弦值作为衡量两个个体间差异的大小的度量. 向量,是多维空间中有方向的线段,如果两个向量的方向一致,即夹角接近零,那么这两个向量就 ...

  8. 杰卡德相似度(Jaccard)详解及在UserCF中的应用

    1.杰卡德相似度(Jaccard) 这个是衡量两个集合的相似度一种指标. 两个集合A和B的交集元素在A,B的并集中所占的比例,称为两个集合的杰卡德相似系数,用符号J(A,B)表示 另一种表示的方法: ...

  9. 杰卡德相似度(Jaccard similarity)

    杰卡德相似度(Jaccard similarity) 先总体上从ChatGPT上了解个大概 科普 杰卡德相似度 概述 主要应用场景 Python代码实现: 先总体上从ChatGPT上了解个大概 杰卡德 ...

最新文章

  1. hibernate教程--一级缓存
  2. 生产环境Go程序内存泄露,用pprof如何快速定位
  3. spring与struts2整合出现错误HTTP Status 500 - Unable to instantiate Action
  4. Kafka(一)背景和概念
  5. 【五级流水线CPU】—— 8. 测试结果
  6. Android 签名
  7. 二阶系统响应指标图_自动控制理论_3.3 二阶系统的瞬态响应
  8. 4399游戏Web前端工程师2021秋招面经
  9. 模型解释器-LIME
  10. XXL任务调度平台+java实现定时任务
  11. python3实现网络爬虫(4)--BeautifulSoup使用(3)
  12. 小程序提示:downloadFile:fail 发生了 SSL 错误,无法建立与该服务器的安全连接
  13. sudo apt update时 E: 仓库 “http://mirrors.ustc.edu.cn/ros/ubuntu jammy Release” 没有 Release
  14. C语言算一维数组均值和标准差(随机生成数组0~100)
  15. 微信CRM系统对企业的价值
  16. 欧盟CE公告号-外贸人不得不了解的通关证书
  17. java常见的面试题
  18. as5300g2 nas软件功能_硬件与软件齐飞,首款支持2.5G网络的品牌NAS-华芸AS-5202T测评体验...
  19. 处理:“更改会计科目表前重置公司码数据”报错
  20. ubuntu向日葵和Todesk连接不了的桌面管理环境问题

热门文章

  1. warning: go env -w GO111MODULE=…does not override conflicting OS environment variable
  2. 解决官网下载mysql过慢,快速下载mysql方法
  3. redis服务器 本地连接
  4. 微信小程序自定义组件数据、方法和属性
  5. 阿里实习生内推电面总结
  6. 年薪35w带12人团队,内推阿里被拒了。。。
  7. Oracle中Blob和Clob类型的区别
  8. 初识Python之刨根问底
  9. C语言链表超简单教程
  10. 计算机教师信息化大赛作品,全国“xx杯”计算机专业类说课大赛优秀作品:信息化色彩搭配训练说课课件.ppt...