如何将NumPy中的数组归一化为单位向量?
发布于 2021-01-29 15:11:27
我想将NumPy数组转换为单位向量。更具体地说,我正在寻找此功能的等效版本
def normalize(v):
norm = np.linalg.norm(v)
if norm == 0:
return v
return v / norm
skearn
或中有类似的东西numpy
吗?
此函数在v
向量为0的情况下起作用。
关注者
0
被浏览
241
1 个回答
-
如果您使用的是scikit-learn,则可以使用
sklearn.preprocessing.normalize
:import numpy as np from sklearn.preprocessing import normalize x = np.random.rand(1000)*10 norm1 = x / np.linalg.norm(x) norm2 = normalize(x[:,np.newaxis], axis=0).ravel() print np.all(norm1 == norm2) # True