有人能帮我解决中使用normalize与normalizer进行特征缩放的差异吗
- 预处理.normalize((与预处理。Normalizer((
它们对数据的影响是等效的。normalize
函数旨在成为规范单个矢量/矩阵的"快捷"选项。Normalizer
就是所谓的"实用程序类"。它只是将normalize
函数封装在Sklearn的Transformer
API中。正如文档中所述,这使得Normalizer
类非常适合在Sklearn的Pipeline
类中使用。
**更新以提供更多详细信息**
归一化器
normalize
和Normalizer
的功能是相同的。即,给定相同的数据和参数,它们将各自返回输入矩阵的L1或L2范数。
有关更多详细信息,请参阅sklearn.preprocessing.normalizer
文档。
变压器
Normalizer
是变压器的一个示例。变压器可以通过多种方式处理数据。它们在sklearn中的一个共同点是具有fit
、transform
和fit_transform
方法。
有关更多详细信息,请参阅数据转换器文档。
管道
sklearn.pipeline.Pipeline
是一个用于"链接"数据转换(归一化、缩放、滤波等(的类和估计器。当使用交叉验证来优化预处理转换和估计器中的不同参数时,能够做到这一点是有帮助的。
由于sklearn.pipeline.Pipeline
的工作方式,它需要组成函数来使用transformer
API。即具有fit
、transform
和fit_transform
方法。
有关更多详细信息,请参阅sklearn.pipeline.Pipline
文档。
Normalize
和Normalizer
之间的差异
Normalize
没有fit
、transform
和fit_transform
方法。因此,虽然它适合"独立"使用,但不能作为Pipeline
的一部分使用。Normalizer
被封装在sklearn的Transformer
API中,以便提供Transformer
方法。
因此,Normalizer
允许normalize
函数与fit
、transform
和fit_transform
方法一起使用,这反过来又允许它作为Pipeline
的一部分使用。
票据
- 因为在规范化数据时没有适合的模型(从技术上讲,
normalize
除了配置参数(例如,在哪个轴上进行规范化以及使用哪种类型的规范化(之外,是无状态的(,所以它只需要transform
方法。因此,fit
返回输入而不进行修改,并且fit_transform
的行为与transform
相同 - 可能存在使
Transformer
API可用于normalize
的其它原因,但其作为Pipeline
的一部分的使用是最常见的