【Python】Tanimoto相似度算法实现
2019独角兽企业重金招聘Python工程师标准>>>
公式:
- 假设A = [1,2,3,4] ,长度为4
- 假设B = [1,2,5,6] ,长度为4
- 则AB的公共部分C = [1,2], 长度为2
- AB的相似度为:2 / (4 + 4 - 2) = 0.33
算法:
方法一:
#-*- coding: utf-8 -*-
#user_data为用户信息嵌套字典
#如{'fabrice' : {'water' : 3}}
def sim_tonimoto(user_data, user1, user2): common = {} #判断有没有相同的数据, 没有相同数据则返回0 for item in user_data[user1]: if item in user_data[user2]: common[item] = 1 if len(common) == 0: return 0 common_num = len(common) user1_num = len(user_data[user1]) user2_num = len(user_data[user2]) res = float(common_num)/(user1_num + user2_num - common_num) return res
方法二:
def sim_tonimoto(user_data, user1, user2): common = [item for item in user_data[user1] if item in user_data[user2]] return float(len(common))/(len(user_data[user1]) + len(user_data[user2]) - len(common))
转载于:https://my.oschina.net/mickelfeng/blog/749552
【Python】Tanimoto相似度算法实现相关推荐
- python 图片相似度算法比较_python 比较2张图片的相似度的方法示例
本文介绍了python 比较2张图片的相似度的方法示例,分享给大家,具体如下: #!/usr/bin/python # -*- coding: UTF-8 -*- import cv2 import ...
- OpenCV—python 图像相似度算法(dHash,方差)
文章目录 一.SIFT综述 二.哈希算法(perceptual hash algorithm) 2.1 相似图片检测步骤: 2.2 代码实现 三.使用方差检测图像相似度 3.1 实现步骤 3.2 代码 ...
- python文本相似度算法详解
1.读取文档 2.对要计算的多篇文档进行访问 3.将文档整理成指定格式,方便后续进行计算 4.计算出词语的频率 5.对频率低的词语进行过滤 6.通过语料库建立词典 7.加载要对比的文档 8.将要对比的 ...
- 相似度算法(http://blog.sina.com.cn/s/blog_62b83291010127bf.html)
在数据分析和数据挖掘的过程中,我们经常需要知道个体间差异的大小,进而评价个体的相似性和类别.最常见的是数据分析中的相关分析,数据挖掘中的分 类和聚类算法,如K最近邻(KNN)和K均值(K-Means) ...
- PYTHON PLUS 原神——星辉兑换“宗室武器”的总体暴击率提升度算法
PYTHON PLUS<原神> 星辉兑换"宗室武器"的总体暴击率提升度算法 在<原神>中有两套可以用星辉兑换的限定武器--"黑岩"和&q ...
- 文本相似度算法的对比及python实现
文本相似度算法的对比及python实现 前言 通常我们有这样的需求:对两篇文章或者产品内容进行重复率查询. 为了解决类似的问题,罗列了一些常见的相似度算法,用python代码实现. 五种常见的相似度算 ...
- python实现文本相似度算法的对比及
文本相似度算法的对比及python实现 前言 通常我们有这样的需求:对两篇文章或者产品内容进行重复率查询. 为了解决类似的问题,罗列了一些常见的相似度算法,用python代码实现. 五种常见的相似度算 ...
- python中文相似度_基于TF-IDF、余弦相似度算法实现文本相似度算法的Python应用
基于TF-IDF算法.余弦相似度算法实现相似文本推荐--文本相似度算法,主要应用于文本聚类.相似文本推荐等场景. 设计说明 使用jieba切词,设置自定义字典 使用TF-IDF算法,找出文章的关键词: ...
- python语言入门w-Python算法基础
有穷性:算法的有穷性是指算法必须能在执行有限个步骤之后终止: 确切性:算法的每一步骤必须有确切的定义: 输入项:一个算法有0个或多个输入,以刻画运算对象的初始情况,所谓0个输入是指算法本身定出了初始条 ...
- 小白学数据:教你用Python实现简单监督学习算法
转载自 小白学数据:教你用Python实现简单监督学习算法 今天,文摘菌想谈谈监督学习. 监督学习作为运用最广泛的机器学习方法,一直以来都是从数据挖掘信息的重要手段.即便是在无监督学习兴起的近日,监督 ...
最新文章
- python编程自学能学会吗-Python能自学成功吗?
- VTK:绘制一个棋盘并用两个平面对其进行剪辑用法实战
- LeetCode 2099. 找到和最大的长度为 K 的子序列
- LeetCode 36. 有效的数独
- java settimezone_Java时间处理2----时区TimeZone类方法探究(Java8以前)
- mpi和openmp混合编程的优点_混合云:拥抱云计算的未来!
- debian修改密码
- pytorch l2正则化_理解机器学习中的 L2 正则化
- 个人地理数据库与文件地理数据库的区别
- 阴阳师服务器维护2月20,《阴阳师》手游2月20日维护更新公告
- PHP语言之MySQL操作
- 软件测试到底有多重要?
- 有关AE2020中文版改为英文版的方法
- PCL——超体素(SuperVoxel)、超体聚类分割
- [Hb-XI] 标志寄存器 cmp jb ja指令编程
- svm兵王_飞彩网福利彩
- Upload-labs
- 登录验证 用户名 密码
- Java校验框架-Oval
- CEX暴雷怎么办 一文读懂加密钱包产业现状
热门文章
- 阿里巴巴公司内部资料:交互设计全档案
- HTML5 Geolocation(地理定位)用于定位用户的位置。
- eclipse左边工程列表不见了,怎么调出来
- PCB名詞解釋:通孔、盲孔、埋孔(转载)
- 关于myeclipse中启动项目(server为welogic10)报valid license.bea错误的问题解决方式...
- 笔者带你剖析轻量级Sharding中间件——Kratos1.x
- 【前端学习笔记】2015-09-02~~~~ 关于filter()匹配的使用
- 重新理解管理信息化促进企业变革
- 【Xcode】编辑与调试
- Web Worker——js的多线程,实现统计博客园总阅读量