相似性分析之Jaccard相似系数

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

公式:

假设arr1 = [11, 2, 3, 8, 10, 0, 2, 0, 0, 2, 1, 0, 0, 2, 0, 0, 0, 0, 0, 0, 0] ,长度为21

假设arr2 = [9, 4, 4, 6, 6, 1, 3, 1, 0, 0, 4, 0, 0, 1, 1, 0, 0, 0, 0, 0, 0],长度为21

则arr1,arr2的公共部分arr_common = [3,0,0,0,1,0,0,0, 0, 0, 0, 0, 0, 0], 长度为14

arr1,arr2的相似度为:14 / (21+21-14) = 0.5

 1 def get_Jaccard(arr1,arr2):
 2     common = 0
 3     # 计算公共相似值的个数
 4     for item in arr1:
 5         if item in arr2:
 6             common += 1
 7     if common==0:
 8         return 0
 9     print(common)
10     return float(common/(len(arr1) + len(arr2) - common))
11
12 a1 = [11, 2, 3, 8, 10, 0, 2, 0, 0, 2, 1, 0, 0, 2, 0, 0, 0, 0, 0, 0, 0]
13 a2 = [9, 4, 4, 6, 6, 1, 3, 1, 0, 0, 4, 0, 0, 1, 1, 0, 0, 0, 0, 0, 0]
14 res = get_Jaccard(a1,a2)
15 print(res)

测试结果:

时间: 2024-11-09 14:44:40

相似性分析之Jaccard相似系数的相关文章

【数学建模】创意平板折叠桌的模型分析与优化设计

? ? 创意平板折叠桌的模型分析与优化设计 魏淙铭 陈星曼 田桃 ? 摘要: 本题要求设计创意折叠桌,问题一给定了具体的长方形平板尺寸.桌高等设计参数求折叠桌的动态变化过程和桌脚边缘线的数学描述,问题二中任意给定桌高和桌面直径求折叠桌的最优设计参数,问题三则要求根据客户提供的桌面边缘线和桌脚边缘线的大致形状给出一款能够确定最优设计参数的软件的数学模型. 本题中,我们以折叠桌桌面中心为圆心,建立空间坐标系求解数学模型. 对于问题一,我们通过使用切片法降低维数来确定桌腿长度.开槽的长度等设计参数,并

(4)数据--相似性与相异性

相似性和相异性(区别性,不同性) 相似性就是两个数据个体间的相似程度嘛,相异性就是相对的概念咯.相异性也就是距离,如果我们把数据个体看做是向量,那么相异性就是两个向量间的距离了. 相似性与相异性的转换 相似性和相异性通常都用区间[0,1]内的数值来表示.这两种值是负相关的,因此理论上任意单调递减的函数都可以用来进行两种值的转换.比如定义s为相似性的值,d为相异性的值,辣么s=1-d,d=1-s就是一种合理的转换. 简单属性值之间的相似性与相异性 对于nominal类型而言,唯一能做的就是比较看两

第五章:节点重要性与相似性

第五章节点的重要性与相似性 关键节点是网络科学的重要研究内容之一本章要重点详细介绍无向网络中节点重要性排序的几个常用指标:度值,介数,接近数,k-壳值和特征向量 5.2无向网络节点重要性指标5.2.1度中心性 一个节点度越大就意味着这个节点越重要. 此类问题都与如何刻画节点在网络中的位置有关,这便是度中心性的问题了 5.2.2介数中心性: 概念:以经过某个节点的最短路径的数目来刻画节点重要性的指标就称为介数中心性,简称介数bc这个概念刻画了节点i对于网络中节点对之间沿着最短路径传输信息的控制能力

当我们在谈论kmeans(3)

本系列意在长期连载分享,内容上可能也会有所删改: 因此如果转载,请务必保留源地址,非常感谢! 博客园:http://www.cnblogs.com/data-miner/(暂时公式显示有问题) 其他:建设中- 当我们在谈论kmeans:论文概述(2) 算法历程 2001年 在Estlick, Mike, et al. "Algorithmic transformations in the implementation of K- means clustering on reconfigurabl

相似度度量 距离

在数据分析和数据挖掘的过程中,我们经常需要知道个体间差异的大小,进而评价个体的相似性和类别.最常见的是数据分析中的相关分析,数据挖掘中的分类和聚类算法,如K最近邻(KNN)和K均值(K-Means).当然衡量个体差异的方法有很多,最近查阅了相关的资料,这里整理罗列下. 为了方便下面的解释和举例,先设定我们要比较X个体和Y个体间的差异,它们都包含了N个维的特征,即X=(x1, x2, x3, - xn),Y=(y1, y2, y3, - yn).下面来看看主要可以用哪些方法来衡量两者的差异,主要分

距离和相似度度量

在数据分析和数据挖掘的过程中,我们经常需要知道个体间差异的大小,进而评价个体的相似性和类别.最常见的是数据分析中的相关分析,数据挖掘中的分类和聚类算法,如K最近邻(KNN)和K均值(K-Means).当然衡量个体差异的方法有很多,最近查阅了相关的资料,这里整理罗列下. 为了方便下面的解释和举例,先设定我们要比较X个体和Y个体间的差异,它们都包含了N个维的特征,即X=(x1, x2, x3, - xn),Y=(y1, y2, y3, - yn).下面来看看主要可以用哪些方法来衡量两者的差异,主要分

Towards a Robust Deep Neural Network in Text Domain A Survey

摘要 这篇文章主要总结文本中的对抗样本,包括器中的攻击方法和防御方法,比较它们的优缺点. 最后给出这个领域的挑战和发展方向. 1 介绍 对抗样本有两个核心:一是扰动足够小:二是可以成功欺骗网络. 所有DNNs-based的系统都有受到对抗攻击的潜在可能. 很多NLP任务使用了DNN模型,例如:文本分类,情感分析,问答系统,等等. 以上是一个对抗攻击实例.除此之外,对抗样本还会毒害网络环境,阻碍对恶意信息[21]-[23]的检测. 除了对比近些年的对抗攻击和防御方法,此外,文章还会讲CV和NLP中

机器学习:聚类

聚类算法 简介 聚类就是对大量未知标注的数据集,按照数据内部存在的数据特征将数据集划分为多个不同的类别,使类别内的数据比较相似,类别之间的数据相似度比较小:属于无监督学习. 聚类算法的重点是计算样本项之间的相似度,有时候也称为样本间的距离 相似度/距离 闵可夫斯基距离 \[ dist(X,Y)=\quad\sqrt[p]{\sum_{i=1}^{n}{|x_i-y_i|^p}} \] \[ 其中X=(x_1,x_2,...,x_n),Y=(y_1,y_2,...,y_n) \] 当p是1的时候为

聚类(一)——Kmeans

Clustering 聚类K-means 聚类是机器学习和数据挖掘领域的主要研究方向之一,它是一种无监督学习算法,小编研究生时期的主要研究方向是"数据流自适应聚类算法",所以对聚类算法有比较深刻的理解,于是决定开一个专题来写聚类算法,希望可以为入门及研究聚类相关算法的读者带来帮助.聚类可以作为一个单独的任务,用于寻找数据内在分布结构,也经常作为其他学习任务的前驱过程,应用十分广泛.今天,小编就带你探索聚类算法的奥秘,并介绍第一个聚类算法Kmeans. Q:什么是聚类? A:聚类是按照某