scale#

sklearn.preprocessing.scale(X, *, ось=0, with_mean=True, with_std=True, copy=True)[источник]#

Стандартизировать набор данных вдоль любой оси.

Центрирование к среднему и масштабирование к единичной дисперсии по компонентам.

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

Параметры:
X{array-like, sparse matrix} формы (n_samples, n_features)

Данные для центрирования и масштабирования.

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

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

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

Если True, центрировать данные перед масштабированием.

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

Если True, масштабировать данные до единичной дисперсии (или, что эквивалентно, единичного стандартного отклонения).

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

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

Возвращает:
X_tr{ndarray, разреженная матрица} формы (n_samples, n_features)

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

Смотрите также

StandardScaler

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

Примечания

Эта реализация откажется центрировать разреженные матрицы scipy.sparse, так как это сделает их неразреженными и может привести к сбою программы из-за исчерпания памяти.

Вместо этого от вызывающей стороны ожидается либо явная установка with_mean=False (в этом случае только масштабирование дисперсии будет выполнено для признаков матрицы CSC) или вызвать X.toarray() если он/она ожидает, что материализованный плотный массив поместится в памяти.

Чтобы избежать копирования памяти, вызывающая сторона должна передавать CSC-матрицу.

NaN обрабатываются как пропущенные значения: игнорируются при вычислении статистики и сохраняются во время преобразования данных.

Мы используем смещённый оценщик для стандартного отклонения, эквивалентный numpy.std(x, ddof=0). Обратите внимание, что выбор ddof маловероятно, что повлияет на производительность модели.

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

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

Риск утечки данных

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

Примеры

>>> from sklearn.preprocessing import scale
>>> X = [[-2, 1, 2], [-1, 0, 1]]
>>> scale(X, axis=0)  # scaling each column independently
array([[-1.,  1.,  1.],
       [ 1., -1., -1.]])
>>> scale(X, axis=1)  # scaling each row independently
array([[-1.37,  0.39,  0.98],
       [-1.22,  0.     ,  1.22]])