minmax_scale
- sklearn.preprocessing.minmax_scale(X, feature_range=(0, 1), *, axis=0, copy=True)[source]
-
Преобразование признаков путём масштабирования каждого признака до заданного диапазона.
Этот оценщик масштабирует и сдвигает каждый признак индивидуально таким образом, что он находится в заданном диапазоне на наборе обучения, т.е. между нулём и единицей.
Преобразование определяется следующим образом (при
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.- Параметры:
-
- Xarray-like of shape (n_samples, n_features)
-
Данные.
- feature_rangetuple (min, max), default=(0, 1)
-
Желаемый диапазон преобразованных данных.
- axis{0, 1}, default=0
-
Ось, по которой выполняется масштабирование. Если 0, масштабирует каждый признак независимо, в противном случае (если 1) масштабирует каждую выборку.
- copybool, default=True
-
Если False, попытаться избежать копирования и масштабировать на месте. Это не гарантируется, что всегда будет работать на месте; например, если данные представляют собой массив NumPy с целочисленным типом, будет возвращена копия, даже с copy=False.
- Возвращает:
-
- X_trndarray of shape (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–2025 The scikit-learn developers
Licensed under the 3-clause BSD License.
https://scikit-learn.org/1.6/modules/generated/sklearn.preprocessing.minmax_scale.html