Они эквивалентны с точки зрения их влияния на данные.Функция 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
.
Примечания
- Потому чтоне существует модели, подходящей для нормализации данных (технически потому, что
normalize
равен без состояний , кроме параметров конфигурации, например, по какой оси нормализуется и какой тип нормализации использовать), требуется только transform
метод.Таким образом, fit
возвращает ввод без изменений, а fit_transform
ведет себя так же, как и transform
. - . Могут быть и другие причины, по которым API-интерфейс
Transformer
доступен для normalize
, но его использование как частьPipeline
является наиболее распространенным.