numpy.linalg.norm函数是什么?

时间:2018-06-14 04:47:37

标签: python numpy k-means

numpy.linalg.norm方法的功能是什么?

In this Kmeans Clustering sample numpy.linalg.norm函数用于在运动质心步骤中获取新质心与旧质心之间的距离,但我无法理解其本身的含义

有人可以就这个Kmeans聚类环境给出一些想法吗?

向量的标准是什么?

2 个答案:

答案 0 :(得分:2)

numpy.linalg.norm用于计算向量或矩阵的范数。

这是从numpy.linalg.norm获取的帮助文档:

numpy.linalg.norm(x, ord=None, axis=None, keepdims=False)[source]

enter image description here

这是从K-Means Clustering in Python获取的代码段:

# Euclidean Distance Caculator
def dist(a, b, ax=1):
    return np.linalg.norm(a - b, axis=ax)

默认情况下需要order=None,所以只计算Frobenius norm的{​​{1}},这是计算a和b之间的距离(使用上面的公式)。

答案 1 :(得分:1)

numpy.linalg.norm函数用于从矩阵的行或列中获取和。假设,

>>> c = np.array([[ 1, 2, 3],
...               [-1, 1, 4]])
>>> LA.norm(c, axis=0)
array([ 1.41421356,  2.23606798,  5.        ])
>>> LA.norm(c, axis=1)
array([ 3.74165739,  4.24264069])
>>> LA.norm(c, ord=1, axis=1)
array([6, 6])