网站首页 > 文章中心 > 其它

python欧式距离函数的简单介绍

作者:小编 更新时间:2023-08-28 13:46:28 浏览量:182人看过

python如何表示 圆周率

python表示圆周率的方法:

使用"import"语句导入math包."math.pi"函数可以获取到圆周率,那么就可以用"math.pi"函数来表示圆周率

示例如下:

执行结果如下:

更多Python知识,请关注:Python自学网!!

python计算每两个向量之间的距离并保持到矩阵中

在很多算法中都会涉及到求向量欧式距离,例如机器学习中的KNN算法,就需要对由训练集A和测试集B中的向量组成的所有有序对(Ai,Bi),求出Ai和Bi的欧式距离.这样的话就会带来一个二重的嵌套循环,在向量集很大时效率不高.

python欧式距离函数的简单介绍-图1

这里介绍如何将这一过程用矩阵运算实现.

假设有两个三维向量集,用矩阵表示:

要求A,B两个集合中的元素两两间欧氏距离.

先求出ABT:

然后:

将上面这个矩阵一开平方,就得到了A,B向量集两两间的欧式距离了.

下面是Python实现:

python欧式距离函数的简单介绍-图2

import numpy

def EuclideanDistances(A, B):

BT = B.transpose()

vecProd = A * BT

sumSqA = numpy.matrix(numpy.sum(SqA, axis=1))

sumSqAEx = numpy.tile(sumSqA.transpose(), (1, vecProd.shape[1]))

sumSqB = numpy.sum(SqB, axis=1)

sumSqBEx = numpy.tile(sumSqB, (vecProd.shape[0], 1))

return numpy.matrix(ED)

python欧式距离函数的简单介绍-图3

Python 计算三维空间某点距离原点的欧式距离

Python (3) 如何计算欧式距离

最直接的方式当然是用numpy.linalg.norm()来计算

参考:

这里想说的是axis参数问题:

axis为0的时候,对于二维矩阵是计算它的列向量的norm;

axis为1的时候,对于二维矩阵是计算它的行向量的norm.

这也很好理解,毕竟列是第一维,而行是第二维,故顺序如此.

另外还有一个ord参数,定义的是计算什么norm,参数列表如下:

python中怎样定义一个函数来计算两点距离?

import?math

class?Dot:

def?__init__(self,x,y,z):

self.x=float(x)

self.y=float(y)

self.z=float(z)?

t1=input('请输入点t1的坐标:')

t1=eval('[%s]'%t1)

print('点t1:',T1.x,T1.y,T1.z)

print("两点间的距离为:%s"%?s)

怎样用python计算两个向量的欧式距离

比如两个1D向量分别为a,b,则欧式距离可以表示为:

norm(a-b), 相当于

以上就是土嘎嘎小编为大家整理的python欧式距离函数的简单介绍python欧式距离函数的简单介绍相关咨询咨询主题介绍,如果您觉得小编更新的文章只要能对粉丝们有用,就是我们最大的鼓励和动力,不要忘记讲本站分享给您身边的朋友哦!!

版权声明:倡导尊重与保护知识产权。未经许可,任何人不得复制、转载、或以其他方式使用本站《原创》内容,违者将追究其法律责任。本站文章内容,部分图片来源于网络,如有侵权,请联系我们修改或者删除处理。

编辑推荐

热门文章