各类距离和python实现
来源:互联网 发布:python执行exe程序 编辑:程序博客网 时间:2024/06/06 15:44
- 先看一下这个,我这里主要是把实现这些距离的公式用python表达出来,其实网上其他人也都写过,但我还是写一遍
- http://blog.csdn.net/shiwei408/article/details/7602324 点击打开链接
- 闵可夫斯基距离
- 欧式距离
- 哈曼顿距离
- 切比雪夫距离
- 夹角余弦
- 汉明距离
- 杰卡德相似系数
1、欧式距离:
如果是两个向量AB运算的画可以(A-B)(A-B)T的开根
import numpy as np
vec1=np.array([1,2,3])
vec2=np.array([4,5,6])
print np.sqrt( (vec1-vec2)*(vec1-vec2).T )
#或者
print ( (vec1-vec2)*(vec1-vec2).T )**0.5
vec1=np.array([1,2,3])
vec2=np.array([4,5,6])
print np.sqrt( (vec1-vec2)*(vec1-vec2).T )
#或者
print ( (vec1-vec2)*(vec1-vec2).T )**0.5
2、哈曼顿距离:
import numpy as np
vec1=np.array([1,2,3])
vec2=np.array([4,5,6])
print sum( np.abs(vec1-vec2) )
3、切比雪夫距离
vec1=np.array([1,2,3])
vec2=np.array([4,5,6])
print sum( np.abs(vec1-vec2) )
3、切比雪夫距离
import numpy as np
vec1=np.array([1,2,3])
vec2=np.array([4,5,6])
print np.abs( (vec1-vec2).max() )
4、夹角余弦
import numpy as np
vec1=np.array([1,2])
vec2=np.array([3,4])
cosv12=np.dot(vec1,vec2) / ( np.linalg.norm (vec1) * (np.linalg.norm(vec2) ) )
print cosv12
vec1=np.array([1,2])
vec2=np.array([3,4])
cosv12=np.dot(vec1,vec2) / ( np.linalg.norm (vec1) * (np.linalg.norm(vec2) ) )
print cosv12
5、汉明距离
应用:信息编码
import numpy as np
vec1=np.mat([1,1,1,1])
vec2=np.mat([1,0,0,1])
smstr=np.nonzero(vec1-vec2)
print np.shape(smstr)[1]
vec1=np.mat([1,1,1,1])
vec2=np.mat([1,0,0,1])
smstr=np.nonzero(vec1-vec2)
print np.shape(smstr)[1]
6、杰卡德相似系数
应用:衡量两个集合相似度的一种指标
import numpy as np
import scipy.spatial.distance as dist
matv=np.mat([[1,1,0,1],[0,1,1,0]])
print "dist.jaccard",dist.pdist(matv,'jaccard')
阅读全文
0 0
- 各类距离和python实现
- python 各类距离公式实现
- 各类距离的意义与Python实现
- 用python 实现各类数学距离
- Python Numpy计算各类距离
- Python实现各类数据结构和算法
- Python实现各类数据结构和算法----归并排序
- Python实现各类数据结构和算法---折半查找
- Python实现各类数据结构和算法---直接选择排序
- Python实现各类数据结构和算法---计数排序
- [042]各类距离计算函数——Python版
- python:距离实现综述
- python实现:KL距离、jensen-shannon距离
- 常用距离算法和相关系数及其Python实现
- python实现两个经纬度点之间的距离和方位角
- MachingLearning中的距离和相似性计算以及python实现
- 【Python】欧氏距离和余弦距离
- Python实现“各类型文件统计”功能
- Oracle字符串操作 、 Oracle数值操作 、 Oracle日期操作 、 空值操作
- 面对ICO乱象,这里有一份老猫的4000字投资指南
- shiro表单的验证 自定义FormAuthenticationFilter
- iOS 模拟器安装APP
- hdu2151 Worm DP
- 各类距离和python实现
- linux关机重启命令
- HTML5中获取地理位置
- Junit4单元测试
- 对称加密和分组加密中的四种模式(ECB、CBC、CFB、OFB)
- 【JavaWeb_Part10】(Spring Boot 01)已经厌倦了一成不变的导 Jar ,写配置套路?那就一起来看"傻逼"吧
- SpringCloud 消费者端 集成 Swagger2.0启动报空指针错误_http://blog.163.com/wangjianssg@126/blog/static/2456955920161
- 如何去掉Discuz论坛中的forum.php小尾巴,即访问时地址栏只显示域名?
- 三.数据结构与基本绘图(1.基础图像容器Mat)