Разница в масштабировании функций между "нормализовать" и "нормализатор" - PullRequest
0 голосов
/ 14 ноября 2018

Может кто-нибудь помочь мне с разницей в масштабировании объектов с использованием нормализации и нормализатора, как в

  • preprocessing.normalize () против предварительной обработки. Нормализатор ().

1 Ответ

0 голосов
/ 14 ноября 2018

Они эквивалентны с точки зрения их влияния на данные.Функция normalize предназначена для быстрой и простой настройки нормализации одного вектора / матрицы.Normalizer - это то, что известно как «служебный класс».Он просто оборачивает функцию normalize в API-интерфейсе Sklearn Transformer.Как указано в документации , это делает класс Normalizer хорошо подходящим для использования в Pipeline классе Sklearn .

** Обновление допредоставить более подробную информацию **

Нормализаторы

Функциональные возможности 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 обернут в API-интерфейс sklearn Transformer для предоставления методов Transformer.

Поэтому Normalizer позволяет использовать функцию normalize с fit, transform иfit_transform методов, что, в свою очередь, позволяет использовать его как часть Pipeline.

Примечания

  1. Потому чтоне существует модели, подходящей для нормализации данных (технически потому, что normalize равен без состояний , кроме параметров конфигурации, например, по какой оси нормализуется и какой тип нормализации использовать), требуется только transform метод.Таким образом, fit возвращает ввод без изменений, а fit_transform ведет себя так же, как и transform.
  2. . Могут быть и другие причины, по которым API-интерфейс Transformer доступен для normalize, но его использование как частьPipeline является наиболее распространенным.
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...