MinMaxScaler#

класс sklearn.preprocessing.MinMaxScaler(feature_range=(0, 1), *, copy=True, clip=False)[источник]#

Преобразование признаков путем масштабирования каждого признака до заданного диапазона.

Этот оценщик масштабирует и преобразует каждый признак индивидуально так, чтобы он находился в заданном диапазоне на обучающем наборе, например, между нулем и единицей.

Преобразование задается следующим образом:

X_std = (X - X.min(axis=0)) / (X.max(axis=0) - X.min(axis=0))
X_scaled = X_std * (max - min) + min

где min, max = feature_range.

Это преобразование часто используется как альтернатива масштабированию с нулевым средним и единичной дисперсией.

MinMaxScaler не уменьшает влияние выбросов, но линейно масштабирует их в фиксированный диапазон, где наибольшая точка данных соответствует максимальному значению, а наименьшая — минимальному. Для примера визуализации см. Сравните MinMaxScaler с другими масштабаторами.

Подробнее в Руководство пользователя.

Параметры:
feature_rangeкортеж (min, max), по умолчанию=(0, 1)

Желаемый диапазон преобразованных данных.

copybool, по умолчанию=True

Установите в False для выполнения нормализации строк на месте и избежания копирования (если вход уже является массивом numpy).

clipbool, по умолчанию=False

Установите True, чтобы обрезать преобразованные значения проверочных данных до предоставленных feature_range. Поскольку этот параметр будет обрезать значения, inverse_transform может не восстановить исходные данные.

Примечание

Установка clip=True не предотвращает дрейф признаков (сдвиг распределения между обучающими и тестовыми данными). Преобразованные значения обрезаются до feature_range, что помогает избежать непреднамеренного поведения в моделях, чувствительных к входным данным вне диапазона (например, линейные модели). Используйте с осторожностью, так как обрезка может исказить распределение тестовых данных.

Добавлено в версии 0.24.

Атрибуты:
min_ndarray формы (n_features,)

Поэлементная корректировка для минимума. Эквивалентно min - X.min(axis=0) * self.scale_

scale_ndarray формы (n_features,)

Относительное масштабирование данных по каждому признаку. Эквивалентно (max - min) / (X.max(axis=0) - X.min(axis=0))

Добавлено в версии 0.17: scale_ атрибут.

data_min_ndarray формы (n_features,)

Минимум по признаку, наблюдаемый в данных

Добавлено в версии 0.17: data_min_

data_max_ndarray формы (n_features,)

Максимальное значение по признаку, наблюдаемое в данных

Добавлено в версии 0.17: data_max_

data_range_ndarray формы (n_features,)

Диапазон по признакам (data_max_ - data_min_) наблюдаемые в данных

Добавлено в версии 0.17: data_range_

n_features_in_int

Количество признаков, замеченных во время fit.

Добавлено в версии 0.24.

n_samples_seen_int

Количество выборок, обработанных оценщиком. Он будет сброшен при новых вызовах fit, но увеличивается при partial_fit вызовы.

feature_names_in_ndarray формы (n_features_in_,)

Имена признаков, наблюдаемых во время fit. Определено только когда X имеет имена признаков, которые все являются строками.

Добавлено в версии 1.0.

Смотрите также

minmax_scale

коммуникация вокруг scikit-learn

Примечания

NaN обрабатываются как пропущенные значения: игнорируются при обучении и сохраняются при преобразовании.

Примеры

>>> from sklearn.preprocessing import MinMaxScaler
>>> data = [[-1, 2], [-0.5, 6], [0, 10], [1, 18]]
>>> scaler = MinMaxScaler()
>>> print(scaler.fit(data))
MinMaxScaler()
>>> print(scaler.data_max_)
[ 1. 18.]
>>> print(scaler.transform(data))
[[0.   0.  ]
 [0.25 0.25]
 [0.5  0.5 ]
 [1.   1.  ]]
>>> print(scaler.transform([[2, 2]]))
[[1.5 0. ]]
fit(X, y=None)[источник]#

Вычислите минимум и максимум для последующего масштабирования.

Параметры:
Xarray-like формы (n_samples, n_features)

Данные, используемые для вычисления минимального и максимального значения для каждого признака, используемых для последующего масштабирования по оси признаков.

yNone

Игнорируется.

Возвращает:
selfobject

Обученный масштабатор.

fit_transform(X, y=None, **fit_params)[источник]#

Обучение на данных с последующим преобразованием.

Обучает преобразователь на X и y с необязательными параметрами fit_params и возвращает преобразованную версию X.

Параметры:
Xarray-like формы (n_samples, n_features)

Входные выборки.

yarray-like формы (n_samples,) или (n_samples, n_outputs), default=None

Целевые значения (None для неконтролируемых преобразований).

**fit_paramsdict

Дополнительные параметры обучения. Передавайте только если оценщик принимает дополнительные параметры в своем fit метод.

Возвращает:
X_newndarray массив формы (n_samples, n_features_new)

Преобразованный массив.

get_feature_names_out(input_features=None)[источник]#

Получить имена выходных признаков для преобразования.

Параметры:
input_featuresarray-like из str или None, по умолчанию=None

Входные признаки.

  • Если input_features является None, затем feature_names_in_ используется как имена признаков в. Если feature_names_in_ не определено, тогда генерируются следующие имена входных признаков: ["x0", "x1", ..., "x(n_features_in_ - 1)"].

  • Если input_features является массивоподобным, тогда input_features должен соответствовать feature_names_in_ if feature_names_in_ определен.

Возвращает:
feature_names_outndarray из str объектов

То же, что и входные признаки.

6332()[источник]#

Получить маршрутизацию метаданных этого объекта.

Пожалуйста, проверьте Руководство пользователя о том, как работает механизм маршрутизации.

Возвращает:
маршрутизацияMetadataRequest

A MetadataRequest Инкапсуляция информации о маршрутизации.

get_params(глубокий=True)[источник]#

Получить параметры для этого оценщика.

Параметры:
глубокийbool, по умолчанию=True

Если True, вернет параметры для этого оценщика и вложенных подобъектов, которые являются оценщиками.

Возвращает:
paramsdict

Имена параметров, сопоставленные с их значениями.

inverse_transform(X)[источник]#

Отменить масштабирование X в соответствии с feature_range.

Параметры:
Xarray-like формы (n_samples, n_features)

Входные данные, которые будут преобразованы. Они не могут быть разреженными.

Возвращает:
X_originalndarray формы (n_samples, n_features)

Преобразованные данные.

partial_fit(X, y=None)[источник]#

Онлайн-вычисление минимума и максимума на X для последующего масштабирования.

Весь X обрабатывается как единый пакет. Это предназначено для случаев, когда fit неосуществимо из-за очень большого количества n_samples или потому что X считывается из непрерывного потока.

Параметры:
Xarray-like формы (n_samples, n_features)

Данные, используемые для вычисления среднего и стандартного отклонения используемых для последующего масштабирования по оси признаков.

yNone

Игнорируется.

Возвращает:
selfobject

Обученный масштабатор.

set_output(*, преобразовать=None)[источник]#

Установить контейнер вывода.

См. Введение API set_output для примера использования API.

Параметры:
преобразовать{“default”, “pandas”, “polars”}, по умолчанию=None

Настройка вывода transform и fit_transform.

  • "default": Формат вывода трансформера по умолчанию

  • "pandas": DataFrame вывод

  • "polars": Вывод Polars

  • None: Конфигурация преобразования не изменена

Добавлено в версии 1.4: "polars" опция была добавлена.

Возвращает:
selfэкземпляр estimator

Экземпляр оценщика.

set_params(**params)[источник]#

Установить параметры этого оценщика.

Метод работает как на простых оценщиках, так и на вложенных объектах (таких как Pipeline). Последние имеют параметры вида __ чтобы можно было обновить каждый компонент вложенного объекта.

Параметры:
**paramsdict

Параметры оценщика.

Возвращает:
selfэкземпляр estimator

Экземпляр оценщика.

преобразовать(X)[источник]#

Масштабирует признаки X в соответствии с feature_range.

Параметры:
Xarray-like формы (n_samples, n_features)

Входные данные, которые будут преобразованы.

Возвращает:
Xtndarray формы (n_samples, n_features)

Преобразованные данные.