python学习[4]_利用numpy做一些距离的计算
2017-03-04 22:57
183 查看
利用numpy做一些距离的计算
1、汉明距离的概念:汉明距离是使用在数据传输差错控制编码里面的,汉明距离是一个概念,它表示两个(相同长度)字对应位不同的数量,我们以d(x,y)表示两个字x,y之间的汉明距离。对两个字符串进行异或运算,并统计结果为1的个数,那么这个数就是汉明距离。
2、代码示例:
3、欧式距离概念:欧几里得度量(euclidean metric)(也称欧氏距离)是一个通常采用的距离定义,指在m维空间中两个点之间的真实距离,或者向量的自然长度(即该点到原点的距离)。在二维和三维空间中的欧氏距离就是两点之间的实际距离。
4、曼哈顿距离概念:曼哈顿距离——两点在南北方向上的距离加上在东西方向上的距离,即d(i,j)=|xi-xj|+|yi-yj|。对于一个具有正南正北、正东正西方向规则布局的城镇街道,从一点到达另一点的距离正是在南北方向上旅行的距离加上在东西方向上旅行的距离因此曼哈顿距离又称为出租车距离,曼哈顿距离不是距离不变量,当坐标轴变动时,点间的距离就会不同。
5、数学上,切比雪夫距离[1] (Chebyshev distance)或是L∞度量是向量空间中的一种度量,二个点之间的距离定义为其各座标数值差绝对值的最大值。以(x1,y1)和(x2,y2)二点为例,其切比雪夫距离为max(|x2-x1|,|y2-y1|)。切比雪夫距离得名自俄罗斯数学家切比雪夫。
6、代码示例:
7、numpy里面有很多东西都是现成,用一次熟悉一下,下次再使用时,比如在一些聚类算法里面需要进行距离的度量,直接调出来使用即可,非常方便。
1、汉明距离的概念:汉明距离是使用在数据传输差错控制编码里面的,汉明距离是一个概念,它表示两个(相同长度)字对应位不同的数量,我们以d(x,y)表示两个字x,y之间的汉明距离。对两个字符串进行异或运算,并统计结果为1的个数,那么这个数就是汉明距离。
2、代码示例:
#-*- coding:utf-8 -*- from numpy import * #汉明距离:字符串不同的个数 matV = mat([[1,1,0,1,0,1,0,0,1],[0,1,1,0,0,0,1,1,1]]) smstr = nonzero(matV[0]-matV[1]) print list(smstr) print shape(smstr[0])
3、欧式距离概念:欧几里得度量(euclidean metric)(也称欧氏距离)是一个通常采用的距离定义,指在m维空间中两个点之间的真实距离,或者向量的自然长度(即该点到原点的距离)。在二维和三维空间中的欧氏距离就是两点之间的实际距离。
4、曼哈顿距离概念:曼哈顿距离——两点在南北方向上的距离加上在东西方向上的距离,即d(i,j)=|xi-xj|+|yi-yj|。对于一个具有正南正北、正东正西方向规则布局的城镇街道,从一点到达另一点的距离正是在南北方向上旅行的距离加上在东西方向上旅行的距离因此曼哈顿距离又称为出租车距离,曼哈顿距离不是距离不变量,当坐标轴变动时,点间的距离就会不同。
5、数学上,切比雪夫距离[1] (Chebyshev distance)或是L∞度量是向量空间中的一种度量,二个点之间的距离定义为其各座标数值差绝对值的最大值。以(x1,y1)和(x2,y2)二点为例,其切比雪夫距离为max(|x2-x1|,|y2-y1|)。切比雪夫距离得名自俄罗斯数学家切比雪夫。
6、代码示例:
# -*- coding:utf-8 -*- from numpy import * #实现欧式距离:矩阵相减乘以矩阵相减的转置,开根号 vector1 = mat([1,2,5]) vector2 = mat([4,7,7]) print sqrt((vector1-vector2)*(vector1-vector2).T) #实现曼哈顿距离:对应坐标相减的绝对值之和 print sum(abs(vector1-vector2)) #实现切比雪夫距离:对应坐标相减的绝对值最大项 print abs(vector1-vector2).max() #实现夹角余弦 cosV12 = sum(vector1*vector2.T)/(linalg.norm(vector1)*linalg.norm(vector2)) print cosV12 print dot([1,2,5],[4,7,7])
7、numpy里面有很多东西都是现成,用一次熟悉一下,下次再使用时,比如在一些聚类算法里面需要进行距离的度量,直接调出来使用即可,非常方便。
相关文章推荐
- 利用Python进行数据分析(6) NumPy基础: 矢量计算
- 利用python对中文文本数据进行LDA训练、计算概率距离
- python 学习之 用python做科学计算Numpy
- python中numpy基础学习及进行数组和矢量计算
- 【python学习笔记】22:numpy文件读写和一些常量
- python 科学计算学习一:numpy文件存取,内存映射
- python利用地图两个点的经纬度计算两点间距离
- Python Numpy计算各类距离
- python 科学计算 — numpy 学习笔记
- 深度学习之Python的科学计算包 – Numpy
- python学习之 利用蒙特卡洛方法计算PI值
- 『利用Python进行数据分析学习』第四章:numpy基础学习
- Python科学计算学习一 NumPy 快速处理数据
- python 科学计算学习一:numpy文件存取,内存映射
- 利用google directions api计算距离
- 基于js利用经纬度进行两地的距离计算
- 利用经纬度计算距离
- Python:通过计算阶乘来学习lambda和reduce这两个函数的使用
- Python:通过计算阶乘来学习lambda和reduce这两个函数的使用
- 利用JS实现的根据经纬度计算地球上两点之间的距离