minmax_scale#
- sklearn.preprocessing.minmax_scale(X, feature_range=(0, 1), *, ось=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.- Параметры:
- Xarray-like формы (n_samples, n_features)
Данные.
- feature_rangeкортеж (min, max), по умолчанию=(0, 1)
Желаемый диапазон преобразованных данных.
- ось{0, 1}, по умолчанию=0
Ось для масштабирования. Если 0, масштабировать каждый признак независимо, иначе (если 1) масштабировать каждый образец.
- copybool, по умолчанию=True
Если False, попытаться избежать копирования и масштабировать на месте. Это не гарантирует, что всегда будет работать на месте; например, если данные являются массивом numpy с целочисленным типом данных, копия будет возвращена даже при copy=False.
- Возвращает:
- X_trndarray формы (n_samples, n_features)
Преобразованные данные.
Предупреждение
Риск утечки данных. Не используйте
minmax_scaleесли вы не знаете, что делаете. Распространённая ошибка — применять его ко всем данным до разделение на обучающую и тестовую выборки. Это сместит оценку модели, потому что информация могла бы просочиться из тестовой выборки в обучающую. В целом, мы рекомендуем использоватьMinMaxScalerвнутри Pipeline чтобы предотвратить большинство рисков утечки данных:pipe = make_pipeline(MinMaxScaler(), LogisticRegression()).
Смотрите также
MinMaxScalerВыполняет масштабирование до заданного диапазона с использованием API Transformer (например, как часть предобработки
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. ]])
Примеры галереи#
Признаки ограниченной машины Больцмана для классификации цифр
Сравнение влияния различных масштабировщиков на данные с выбросами