Spec-Zone.ru › scikit-learn

minmax_scale

sklearn.preprocessing.minmax_scale(X, feature_range=(0, 1), *, axis=0, copy=True)[исходный код]

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

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

Преобразование задаётся формулой (когда axis=0):

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.

Преобразование вычисляется следующим образом (когда axis=0):

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

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

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

Добавлено в версии 0.17: интерфейс функции minmax_scale для MinMaxScaler.

Параметры:
Xмассивоподобный объект формы (n_samples, n_features)

Данные.

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

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

axis{0, 1}, по умолчанию=0

Ось, вдоль которой выполняется масштабирование. Если значение равно 0, масштабируется каждый признак независимо; в противном случае (если значение равно 1) масштабируется каждый объект.

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

Если значение равно False, функция пытается избежать копирования и масштабировать данные на месте. Это не гарантирует, что операция всегда будет выполняться на месте; например, если данные представлены массивом numpy с целочисленным типом dtype, будет возвращена копия, даже если copy=False.

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

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

Предупреждение

Риск утечки данных. Не используйте minmax_scale, если не уверены в своих действиях. Распространённая ошибка — применять эту функцию ко всему набору данных до разделения на обучающую и тестовую выборки. Это приведёт к смещённой оценке модели, поскольку информация из тестовой выборки попадёт в обучающую. В целом мы рекомендуем использовать MinMaxScaler внутри конвейера, чтобы предотвратить большинство рисков утечки данных: pipe = make_pipeline(MinMaxScaler(), LogisticRegression()).

См. также

MinMaxScaler

Выполняет масштабирование до заданного диапазона с использованием API преобразователей (например, в составе конвейера Pipeline предварительной обработки).

Примечания

Сравнение различных масштабировщиков, преобразователей и нормализаторов см. здесь: Сравнение влияния различных масштабировщиков на данные с выбросами.

Примеры

>>> from sklearn.preprocessing import minmax_scale
>>> X = [[-2, 1, 2], [-1, 0, 1]]
>>> minmax_scale(X, axis=0)  # scale each column independently
array([[0., 1., 1.],
       [1., 0., 0.]])
>>> minmax_scale(X, axis=1)  # scale each row independently
array([[0.  , 0.75, 1.  ],
       [0.  , 0.5 , 1.  ]])

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

Признаки ограниченной машины Больцмана для классификации цифр

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

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

Spec-Zone.ru

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