简体   繁体   English

numpy.linalg.norm是否可以将sklearn.preprocessing.normalize(X,norm ='l1',)替换为矩阵的L1-norm?

[英]Can numpy.linalg.norm replace sklearn.preprocessing.normalize(X, norm='l1',) for L1-norm of matrix?

I used sklearn.preprocessing.normalize before but I wonder there are other ways by Numpy (or something else) for L1-norm of matrix? 我以前使用过sklearn.preprocessing.normalize ,但我想知道Numpy是否有其他方法(或其他方法)用于矩阵的L1范数? Can we use numpy.linalg.norm(x, ord=None, axis=None, keepdims=False) instead of sklearn one? 我们可以使用numpy.linalg.norm(x, ord=None, axis=None, keepdims=False)代替sklearn one吗?

According to the document , linalg.norm params seem not possible for matrix nor L1 根据文档 ,对于矩阵或L1来说,linalg.norm参数似乎是不可能的

x : array_like Input array. If axis is None, x must be 1-D or 2-D.
ord : {non-zero int, inf, -inf, ‘fro’, ‘nuc’}, optional

Yes. 是。 numpy.linalg.norm is for Matrix or vector norm. numpy.linalg.norm适用于Matrix或矢量范数。

It depends on which kind of L1 matrix norm you want. 这取决于您想要哪种L1矩阵范数。 You can specify it with argument ord . 您可以使用参数ord指定它。 ( Doc ) 文件

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

Matrix norms induced by vector norms, ord=inf 向量范数诱导的矩阵范数ord=inf

"Entrywise" matrix norms, ord=0 “ Entrywise”矩阵规范, ord=0

Schatten norms, ord=nuc Schatten规范, ord=nuc

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM