numpy.linalg.norm方法的功能是什么?
In this Kmeans Clustering sample numpy.linalg.norm函数用于在运动质心步骤中获取新质心与旧质心之间的距离,但我无法理解其本身的含义
有人可以就这个Kmeans聚类环境给出一些想法吗?
向量的标准是什么?
答案 0 :(得分:2)
numpy.linalg.norm
用于计算向量或矩阵的范数。
这是从numpy.linalg.norm获取的帮助文档:
numpy.linalg.norm(x, ord=None, axis=None, keepdims=False)[source]
这是从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])