normalize#
- sklearn.preprocessing.normalize(X, norm='l2', *, axis=1, copy=True, return_norm=False)#
缩放输入向量以单位范数(向量长度)。
更多信息请参阅 用户指南 。
- Parameters:
- X{array-like, sparse matrix},形状为 (n_samples, n_features)
要标准化的数据,逐元素进行。 scipy.sparse 矩阵应为 CSR 格式,以避免不必要的复制。
- norm{‘l1’, ‘l2’, ‘max’},默认=’l2’
用于标准化每个非零样本(或每个非零特征,如果 axis 为 0)的范数。
- axis{0, 1},默认=1
定义用于沿其标准化数据的轴。如果为 1,则独立标准化每个样本;否则(如果为 0)标准化每个特征。
- copybool,默认=True
如果为 False,尝试避免复制并在原地进行标准化。 这不能保证总是就地工作;例如,如果数据是具有 int 类型的 numpy 数组,即使 copy=False,也会返回一个副本。
- return_normbool,默认=False
是否返回计算的范数。
- Returns:
- X{ndarray, sparse matrix},形状为 (n_samples, n_features)
标准化后的输入 X。
- normsndarray,形状为 (n_samples, ) 如果 axis=1 否则为 (n_features, )
给定轴上 X 的范数数组。 当 X 为稀疏矩阵时,对于范数 ‘l1’ 或 ‘l2’ 将引发 NotImplementedError。
See also
Normalizer
使用 Transformer API 进行标准化 (例如,作为预处理
Pipeline
的一部分)。
Notes
有关不同缩放器、转换器和标准化器的比较,请参见 比较不同缩放器对含有异常值的数据的影响 。
Examples
>>> from sklearn.preprocessing import normalize >>> X = [[-2, 1, 2], [-1, 0, 1]] >>> normalize(X, norm="l1") # 每行独立进行 L1 标准化 array([[-0.4, 0.2, 0.4], [-0.5, 0. , 0.5]]) >>> normalize(X, norm="l2") # 每行独立进行 L2 标准化 array([[-0.66..., 0.33..., 0.66...], [-0.70..., 0. , 0.70...]])