如何将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 个回答
  • 面试哥
    面试哥 2021-01-29
    为面试而生,有面试问题,就找面试哥。

    如果您使用的是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
    


知识点
面圈网VIP题库

面圈网VIP题库全新上线,海量真题题库资源。 90大类考试,超10万份考试真题开放下载啦

去下载看看