【问题标题】:Can numpy.linalg.norm replace sklearn.preprocessing.normalize(X, norm='l1',) for L1-norm of matrix?numpy.linalg.norm 可以用矩阵的 L1 范数替换 sklearn.preprocessing.normalize(X, norm='l1',) 吗?
【发布时间】:2017-11-26 14:00:24
【问题描述】:

我以前使用过sklearn.preprocessing.normalize,但我想知道 Numpy(或其他东西)还有其他方法可以用于矩阵的 L1 范数吗?我们可以使用numpy.linalg.norm(x, ord=None, axis=None, keepdims=False) 而不是sklearn 一个吗?

根据document,linalg.norm 参数似乎不适用于矩阵和 L1

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

【问题讨论】:

  • ord=1 不返回L1 规范吗?

标签: python numpy matrix scikit-learn


【解决方案1】:

是的。 numpy.linalg.norm 用于矩阵或向量范数。

这取决于您想要哪种 L1 矩阵范数。您可以使用参数ord 指定它。 (Doc)

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

向量范数诱导的矩阵范数,ord=inf

“Entrywise”矩阵范数,ord=0

Schatten 规范,ord=nuc

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2017-08-26
    • 1970-01-01
    • 2016-02-09
    • 2014-05-20
    • 1970-01-01
    相关资源
    最近更新 更多