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