Python 什么';这些np.linalg.norm方法之间的区别是什么

Python 什么';这些np.linalg.norm方法之间的区别是什么,python,syntax,euclidean-distance,Python,Syntax,Euclidean Distance,我有这两种方法,它们来自KNN实现。我推测它们是两个距离测量值,但我不理解它们之间的区别。我已经试着查过这个方法,但没有任何运气 def euclideanDistance(in1,in2): return np.linalg.norm(in1-in2) def L1Distance(in1,in2): return np.linalg.norm(in1-in2,1) 被调用的函数是相同的,但在第二种情况下,会添加一个附加参数来更改其行为 第二个关键字参数是order,如果这

我有这两种方法,它们来自KNN实现。我推测它们是两个距离测量值,但我不理解它们之间的区别。我已经试着查过这个方法,但没有任何运气

def euclideanDistance(in1,in2):
    return np.linalg.norm(in1-in2)

def L1Distance(in1,in2):
    return np.linalg.norm(in1-in2,1)

被调用的函数是相同的,但在第二种情况下,会添加一个附加参数来更改其行为

第二个关键字参数是order,如果这个参数没有输入,它将计算欧几里德范数sqrt(in1^2-in2^2)


如果ord=1(您的情况),则计算L1范数,即abs(in1-in2)

vs(又名欧几里德)范数。文档中明确说明了这一点:在第一种情况下,
ord=None
,在第二种情况下,
ord=1
。你到底不明白其中的哪一部分?同样值得一读。