特征计算 - Jaccard 相似系数与 Python 代码实现

Jaccard 相似系数又称为Jaccard相似性度量(Jaccard系数,Jaccard 指数,Jaccard index)。用于比较有限样本集之间的相似性与差异性。Jaccard系数值越大,样本相似度越高。定义为相交的大小除以样本集合的大小:

(若A B均为空,那么定义J(A,B)= 1)

与 Jaccard 相似系数相对的指标是Jaccard 距离(Jaccard distance),定义为 1- Jaccard系数,即:

Python 代码:

data_school_list = data['school'].unique().tolist() #school列表
edu_similar=[]
l = len(data_school_list)#定义循环次数
for i in data_school_list:try:print(l)#显示当前计算的进度Jaccard_list = []#建立一个空白列表,用于存储Jaccar系数true_id = data.loc[data['school'] == i,'id'].tolist() #id列表for m in range(len(true_id)):true_ids = copy.copy(true_id)#复制id列表true_ids.pop(m)for n in range(len(true_ids)):data_id_x =  data.loc[data['id']== true_id[m],'school'].tolist()data_id_y =  data.loc[data['id']== true_id[n],'school'].tolist()union_set = len(list(set(data_id_x)|set(data_id_y)))#并集长度intersection_set = len(list(set(data_id_x)&set(data_id_y)))#交集长度Jaccard = intersection_set/union_set #Jaccard IndexJaccard_list.append(Jaccard)#插入listJaccard_array = np.array(Jaccard_list)Jaccard_mean = np.mean(Jaccard_array)Jaccard_std = np.std(Jaccard_array)Jaccard_list = [i,Jaccard_mean,Jaccard_std]edu_similar.append(Jaccard_list)l-=1#l-1进行下一个循环,直到数据中每一条都计算完毕except:Jaccard_list = [i,0,0]edu_similar.append(Jaccard_list)l-=1

 

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/475438.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

LeetCode 1293. 网格中的最短路径(DP/BFS)

1. 题目 给你一个 m * n 的网格,其中每个单元格不是 0(空)就是 1(障碍物)。 每一步,您都可以在空白单元格中上、下、左、右移动。 如果您 最多 可以消除 k 个障碍物,请找出从左上角 (0, 0) 到…

员工奖金需要交税吗_企业为员工发福利 奖品奖金也需要缴税

原标题:企业为员工发福利 奖品奖金也需要缴税企业的福利待遇经常成为员工炫耀的资本,过生日企业准备了小礼品,各种节日为员工准备的物品,举办不容形式的年会的时候对先进工作者发放奖金、奖品及举行抽奖活动。那么,发放…

天气预报Dom解析(转)

view plain<span style"font-family:Arial, Verdana, sans-serif;color:#000000;"><span style"white-space: normal;"><span style"color:#000099;"> </span></span></span> DOM是用与平台无关和语言无关…

用户行为分析模型-(行为事件分析、用户留存分析、漏斗分析、行为路径分析、用户分群、点击分析)

最近有些忙&#xff0c;但是看到了很好的分析模型也要跟大家分享的&#xff0c;这篇博客有些粗糙&#xff0c;主要是po上一些链接供大家学习&#xff0c;有时间的话&#xff0c;我也会写出自己关于用户行为分析的理解的。 下面是关于用户行为分析常见的分析维度&#xff0c;有…

[scikit-learn 机器学习] 4. 特征提取

文章目录1. 从类别变量中提取特征2. 特征标准化3. 从文本中提取特征3.1 词袋模型3.2 停用词过滤3.3 词干提取和词形还原3.4 TF-IDF 权重扩展词包3.5 空间有效特征向量化与哈希技巧3.6 词向量4. 从图像中提取特征4.1 从像素强度中提取特征4.2 使用卷积神经网络激活项作为特征本文…

webgis 行政图报错_WebGIS 地图 示例源码下载

【实例简介】【实例截图】【核心代码】esri Deomhtml, body, #map {height: 100%;width: 100%;}body {background-color: #fff;overflow: hidden;}#BasemapToggle {position: absolute;right: 20px;top: 20px;z-index: 50;}#HomeButton {left: 25px;position: absolute;top: 93…

正则表达式 - 去掉乱码字符/提取字符串中的中文字符/提取字符串中的大小写字母 - Python代码

目录 1.乱码符号种类较少&#xff0c;用replace() 2.乱码字符种类较多&#xff0c;用re.sub() 3.提取字符串中的中文字符 4.提取字符串中的中文字符和数字 5.提取其他 数据清洗的时候一大烦恼就是数据中总有各种乱码字符&#xff0c;比如&#xff01;#&#xffe5;%……&a…

《JavaScript高级程序设计》阅读笔记(一):ECMAScript基础

2.1 语法 区分大小写、变量弱类型、行尾分号可有可无、注释为双斜线、括号表明代码块 2.2 变量 变量用var声明&#xff0c;变量的命名规则&#xff1a;第一个字符必须是字母、下划线或美元符号&#xff1b;余下的字符可以是下划线、美元符号或任何字母或数字字符。 变量命名规范…

v8引擎和v12引擎_为什么V8和V12发动机至今还存在,而V10发动机却早早被淘汰了?...

为什么V8和V12发动机至今还存在&#xff0c;而V10发动机却早早被淘汰了&#xff1f;估计你看到标题的时候心中已经有了相关的答案&#xff0c;但是如果我说你所想的和真实的原因并不一样呢&#xff01;随着国家对环保越来越重视&#xff0c;大排量发动机逐渐也成为了汽车工业中…

LeetCode 第 29 场双周赛(890/2259,前39.4%)

文章目录1. 比赛结果2. 题目1. LeetCode 5432. 去掉最低工资和最高工资后的工资平均值 easy2. LeetCode 5433. n 的第 k 个因子 medium3. LeetCode 5434. 删掉一个元素以后全为 1 的最长子数组 medium4. LeetCode 5435. 并行课程 II hard1. 比赛结果 做出来了3道题。第三题卡了…

Hive关于数据库的增删改查

创建库 if not exists&#xff1a;防止db_hive已经存在 CREATE DATABASE if not exists db_hive;CREATE DATABASE if not exists db_hive COMMENT create my database named db_hive;#带注释CREATE DATABASE if not exists db_hive WITH dbproperties(aaaa,bbbb);#带属性 使…

【dll 返回字符串 】2

【vc <--> vc】返回void* 类型void* __stdcall torrent_hash( const char *TorrentFilePath){char szText[41]{0};if(strcmp(TorrentFilePath,"") 0 || TorrentFilePath NULL)return NULL;string strHashString "abcdefg"; sprintf(szText,&qu…

Hive关于数据表的增删改(内部表、外部表、分区表、分桶表 数据类型、分隔符类型)

建表 基本语句格式 CREATE [external] TABLE if not exists student #默认建立内部表&#xff0c;加上external则是建立外部表(id int COMMENT学号,sname string COMMENT用户名,age int COMMENT年龄)#字段名称&#xff0c;字段类型&#xff0c;字段描述信息 COMMENT 记录学生…

LeetCode 1496. 判断路径是否相交(set)

1. 题目 给你一个字符串 path&#xff0c;其中 path[i] 的值可以是 ‘N’、‘S’、‘E’ 或者 ‘W’&#xff0c;分别表示向北、向南、向东、向西移动一个单位。 机器人从二维平面上的原点 (0, 0) 处开始出发&#xff0c;按 path 所指示的路径行走。 如果路径在任何位置上出…

python数据框循环生成_python - 如何在 Pandas 的for循环迭代中创建多个数据框?

我需要在熊猫中创建一个函数&#xff0c;该函数将单个数据框作为输入&#xff0c;并根据特定条件返回多个数据框作为输出。 (请检查下面的示例以了解情况)。我很难弄清楚如何做。我需要一些专家的编码建议。范例1&#xff1a;输入 100列的数据框输出数据帧1的前10&#xff05;列…

除去数组中的空字符元素array_filter()

除去数组中的空字符元素 <?php$str1_arrayarray(电影618,,http://www.movie618.com,,1654,);$str1_arrayarray_filter($str1_array);print_r($str1_array); ?> 显示结果&#xff1a; Array( [0] > 电影618 [2] > http://www.movie618.com [4] > …

Hive的数据加载与导出

普通表的加载 1.load方式 load data [local] inpath [源文件路径] into table 目标表名; 从HDFS上加载数据&#xff0c;本质上是移动文件所在的路径 load data inpath /user/student.txt into table student; 从本地加载数据&#xff0c;本质上是复制本地的文件到HDFS上 lo…

电压压力蕊片_一文让你知道什么是压力变送器

一般来说&#xff0c;压力变送器主要由测压元件传感器(也称作压力传感器)、测量电路和过程连接件三部分组成。它能将测压元件传感器感受到的气体、液体等物理压力参数转变成标准的电信号(如4~20mADC等)&#xff0c;以供给指示报警仪、记录仪、调节器等二次仪表进行测量、指示和…

LeetCode 1497. 检查数组对是否可以被 k 整除(余数配对)

1. 题目 给你一个整数数组 arr 和一个整数 k &#xff0c;其中数组长度是偶数&#xff0c;值为 n 。 现在需要把数组恰好分成 n / 2 对&#xff0c;以使每对数字的和都能够被 k 整除。 如果存在这样的分法&#xff0c;请返回 True &#xff1b;否则&#xff0c;返回 False 。…

C# 多线程编程 ThreadStart ParameterizedThreadStart

原文地址&#xff1a;http://club.topsage.com/thread-657023-1-1.html 在实例化Thread的实例&#xff0c;需要提供一个委托&#xff0c;在实例化这个委托时所用到的参数是线程将来启动时要运行的方法。在.net中提供了两种启动线程的方式&#xff0c;一种是不带参数的启动…