Python简单匹配相关系数SMC、JAC及L1、L2、Lr、L无穷范式、余弦相似度、jac距离重叠程度、海明距离
1、简单匹配相关系数SMC
def smc(x,y):s=0for i in range(len(x)):if x[i]==y[i]:s+=1return s/len(x)
m=[0,1,0,0,1,0,0,1,1,1]
n=[0,0,0,0,1,1,0,0,1,1]
res1=smc(m,n)
res1
2、简单匹配相关系数JAC
def jac(x,y):s1=0s2=0for i in range(len(x)):if x[i]!=y[i]:s1+=1if x[i]==y[i]==1:s2+=1return s2/(s1+s2)
m=[0,1,0,0,1,0,0,1,1,1]
n=[0,0,0,0,1,1,0,0,1,1]
res2=jac(m,n)
res2
3、L1范式(曼哈顿距离)
def L1(x,y):d=x.copy()for i in range(len(x)):d[i]= abs(x[i]-y[i])return sum(d)
m=[22,1,42,10]
n=[20,0,36,8]
L1(m,n)
4、L2范式(欧式距离)
def L2(x,y):d=x.copy()for i in range(len(x)):d[i]=abs(x[i]-y[i])**2return sum(d)**0.5
m=[22,1,42,10]
n=[20,0,36,8]
L2(m,n)
5、Lr范式(闵可夫斯基距离)
def Lr(x,y,r):d=x.copy()for i in range(len(x)):d[i]=abs(x[i]-y[i])**rreturn sum(d)**(1/r)
m=[22,1,42,10]
n=[20,0,36,8]
Lr(m,n,3) //r=3的情况下
6、L无穷范式(切比雪夫距离)
def Lm(x,y):d=x.copy()for i in range(len(x)):d[i]=abs(x[i]-y[i])return max(d)
m=[22,1,42,10]
n=[20,0,36,8]
Lm(m,n)
7、余弦相似度
def cosS(x,y):d=x.copy()c=x.copy()e=x.copy()for i in range(len(x)):d[i]=x[i]*y[i]c[i]=x[i]**2e[i]=y[i]**2return sum(d)/(sum(c)*sum(e))
m=[3,-1,2]
n=[-2,3,1]
cosS(m,n)
8、jac距离、重叠程度
def calI(x,y):#计算交集count = [ ]for i in x:if i in y:count.append(i)return countdef calU(x,y):#计算并集count = x.copy( )for i in x:if i not in y:count.append(i)return countdef IoUd(x,y):I = calI(x,y)U = calU(x,y)return 1-len(I)/len(U)m1=[1,2,3,4]
n1=[2,3,4,5]
res1=IoUd(m1,n1)
m2=[1,2,3]
n2=[4,5,6]
res2=IoUd(m2,n2)
res1,res2
9、海明距离
def haimming(x,y):count = 0for i in range(len(y)):if x[i]!=y[i]:count +=1return count
data=[[0,0,0,0,0,0],[1,1,0,0,1,1],[0,1,0,1,0,1],[0,1,1,1,0,0]]
for i in range(len(data)):for j in range(i+1,len(data)):print(haimming(data[i],data[j])) #循环
Python简单匹配相关系数SMC、JAC及L1、L2、Lr、L无穷范式、余弦相似度、jac距离重叠程度、海明距离相关推荐
- L0/L1/L2/Lp/L∞范数的联系与区别
向量的范数可以简单形象的理解为向量的长度,或者向量到零点的距离,或者相应的两个点之间的距离. 向量的范数定义:向量的范数是一个函数||x||,满足非负性||x|| >= 0,齐次性||cx|| ...
- Python简单教程
Python综述 python是什么 Python 是一个高层次的结合了解释性.编译性.互动性和面向对象的脚本语言. Python的设计具有很强的可读性,相比其他语言经常使用英文关键字,其他语言的一些 ...
- python基础代码事例-Python简单基础小程序的实例代码
1 九九乘法表 for i in range(9):#从0循环到8 i += 1#等价于 i = i+1 for j in range(i):#从0循环到i j += 1 print(j,'*',i, ...
- python程序实例教程基础-Python简单基础小程序的实例代码
1 九九乘法表 for i in range(9):#从0循环到8 i += 1#等价于 i = i+1 for j in range(i):#从0循环到i j += 1 print(j,'*',i, ...
- python正则匹配ip地址_Python正则表达式匹配ip地址实例
Python正则表达式匹配ip地址实例 更新时间:2014年10月09日 11:22:51 投稿:shichen2014 这篇文章主要介绍了Python正则表达式匹配ip地址实例,通过简单的实例讲述了 ...
- python数据匹配_python 匹配@
正则查找相关的方法 | 手把手教你入门Python之八十五 上一篇:正则表达式简介 | 手把手教你入门Python之八十四下一篇:Re.Match类的介绍 | 手把手教你入门Python之八十六 本文 ...
- python正则匹配ip地址_Python正则表达式匹配和提取IP地址
Linux No.1 IPv4 下面是IPv4的IP正则匹配实例: 简单的匹配给定的字符串是否是ip地址 import re if re.match(r"^(?:[0-9]{1,3}.){3 ...
- python怎么用for循环找出最大值_如何获取Python简单for循环索引
如何获取Python简单for循环索引 这篇文章主要介绍了如何获取Python简单for循环索引,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下 Py ...
- opengl实现三维动画简单代码_使用Python简单实现马赛克拼图!内附完整代码
今天小编带大家使用python简单实现马赛克拼图,内容比以往会稍长一些,各位看官老爷可以慢慢细读,若有不足之处还望请斧正,闲话不多说,请看文章. 先看原图: 效果图: 思路: 拼图的原理其实很简单,就 ...
最新文章
- 一键下载,双击上传,带你探索提升工作效率的秘密“武器”
- APP不显示GPU过度渲染的问题
- VMware vSphere 6.5配置系列
- numpy中的方差、协方差、相关系数
- python爬虫xpath提取数据_Python网络爬虫四大选择器(正则表达式、BS4、Xpath、CSS)总结...
- 计算机组成之总线结构
- 算法导论第三版 第30章习题答案
- matlab数学建模程序代码大全,matlab程序代码
- 健身房私教预约小程序 毕业设计毕业论文 开题报告和效果图参考(基于微信小程序毕业设计题目选题课题)
- PPT文件不能编辑怎么回事?
- 董宝珍:巴菲特是如何选股的?——从底层逻辑看巴菲特核心重仓股的思路、原则和条件...
- win11如何右键如果没有.txt文件,如何出现.txt文件
- 系统从win7更新到win10没有声音(扬声器一直显示未插入)
- 抖音关闭单身开启恋爱模式设置教程分享
- 【ISP】HSV(2)
- java 验证码突然不显示
- SpringBoot集成elasticsearch使用
- 关于C语言的图像光标处理
- 带你走进 SVG 世界,成为 SVG 头号玩家
- 奈奎斯特与香农定理等系列概念(易混淆)