Spec-Zone.ru › scikit-learn

MinMaxScaler

classsklearn.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_rangetuple (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

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

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

n_samples_seen_int

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

feature_names_in_ndarray формы (n_features_in_,)

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

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

См. также

minmax_scale

Эквивалентная функция без API оценивателя.

Примечания

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), по умолчанию=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 является array-like, то input_features должно соответствовать feature_names_in_, если определено feature_names_in_.
Возвращает:
feature_names_outndarray строковых объектов

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

get_metadata_routing()[исходный код]

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

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

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

Объект MetadataRequest, содержащий сведения о маршрутизации.

get_params(deep=True)[исходный код]

Получает параметры этого оценивателя.

Параметры:
deepbool, по умолчанию=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(*, transform=None)[исходный код]

Задаёт контейнер выходных данных.

Подробнее см. в руководстве пользователя, а пример использования API приведён в разделе Знакомство с API set_output.

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

Настраивает формат вывода для transform и fit_transform.

  • "default": Формат вывода преобразователя по умолчанию
  • "pandas": Вывод в формате DataFrame
  • "polars": Вывод в формате Polars
  • None: Конфигурация преобразования остаётся без изменений

Добавлено в версии 1.4: Добавлен параметр "polars".

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

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

set_params(**params)[исходный код]

Задаёт параметры этого оценивателя.

Метод работает как с простыми оценивателями, так и с вложенными объектами (например, Pipeline). У последних параметры имеют вид <component>__<parameter>, что позволяет обновлять каждый компонент вложенного объекта.

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

Параметры оценивателя.

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

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

transform(X)[исходный код]

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

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

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

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

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

Примеры из галереи

Создание признаков, связанных со временем

Шумоподавление изображений с помощью ядерного PCA

Выбор метода снижения размерности с помощью Pipeline и GridSearchCV

Одномерный отбор признаков

Рекурсивное исключение признаков

Масштабируемое обучение с аппроксимацией полиномиального ядра

Обучение многообразий на рукописных цифрах: локальное линейное вложение, Isomap…

Оценка оценивателей для обнаружения выбросов

Сравнение стратегий стохастического обучения для MLPClassifier

Сравнение влияния различных средств масштабирования на данные с выбросами

Основные нововведения scikit-learn 0.24

© 2007–2026 The scikit-learn developers
Licensed under the 3-clause BSD License.
https://scikit-learn.org/1.9/modules/generated/sklearn.preprocessing.MinMaxScaler.html

Spec-Zone.ru

Настройки Оффлайн Что нового Помощь О нас
Spec-Zone .ru
спецификации, руководства, описания, API