"normalize"和"Normalizer"之间的特征缩放差异



有人能帮我解决中使用normalize与normalizer进行特征缩放的差异吗

  • 预处理.normalize((与预处理。Normalizer((

它们对数据的影响是等效的。normalize函数旨在成为规范单个矢量/矩阵的"快捷"选项。Normalizer就是所谓的"实用程序类"。它只是将normalize函数封装在Sklearn的TransformerAPI中。正如文档中所述,这使得Normalizer类非常适合在Sklearn的Pipeline类中使用。

**更新以提供更多详细信息**

归一化器

normalizeNormalizer的功能是相同的。即,给定相同的数据和参数,它们将各自返回输入矩阵的L1或L2范数。

有关更多详细信息,请参阅sklearn.preprocessing.normalizer文档。

变压器

Normalizer变压器的一个示例。变压器可以通过多种方式处理数据。它们在sklearn中的一个共同点是具有fittransformfit_transform方法。

有关更多详细信息,请参阅数据转换器文档。

管道

sklearn.pipeline.Pipeline是一个用于"链接"数据转换(归一化、缩放、滤波等(的类和估计器。当使用交叉验证来优化预处理转换和估计器中的不同参数时,能够做到这一点是有帮助的。

由于sklearn.pipeline.Pipeline的工作方式,它需要组成函数来使用transformerAPI。即具有fittransformfit_transform方法。

有关更多详细信息,请参阅sklearn.pipeline.Pipline文档。

NormalizeNormalizer之间的差异

Normalize没有fittransformfit_transform方法。因此,虽然它适合"独立"使用,但不能作为Pipeline的一部分使用。Normalizer被封装在sklearn的TransformerAPI中,以便提供Transformer方法。

因此,Normalizer允许normalize函数与fittransformfit_transform方法一起使用,这反过来又允许它作为Pipeline的一部分使用。

票据

  1. 因为在规范化数据时没有适合的模型(从技术上讲,normalize除了配置参数(例如,在哪个轴上进行规范化以及使用哪种类型的规范化(之外,是无状态的(,所以它只需要transform方法。因此,fit返回输入而不进行修改,并且fit_transform的行为与transform相同
  2. 可能存在使TransformerAPI可用于normalize的其它原因,但其作为Pipeline的一部分的使用是最常见的

最新更新