小编典典

如何将NumPy中的数组归一化为单位向量?

python

我想将NumPy数组转换为单位向量。更具体地说,我正在寻找此功能的等效版本

def normalize(v):
    norm = np.linalg.norm(v)
    if norm == 0: 
       return v
    return v / norm

skearn或中有类似的东西numpy吗?

此函数在v向量为0的情况下起作用。


阅读 304

收藏
2021-01-20

共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
2021-01-20