Spec-Zone.ru › scikit-learn

robust_scale

sklearn.preprocessing.robust_scale(X, *, axis=0, with_centering=True, with_scaling=True, quantile_range=(25.0, 75.0), copy=True, unit_variance=False)[source]

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

Центрировать по медиане и масштабировать по компонентам в соответствии с межквартильным размахом.

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

Параметры:
X{array-like, разреженная матрица} формы (n_sample, n_features)

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

axisint, по умолчанию 0

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

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

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

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

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

quantile_rangeкортеж (q_min, q_max), 0.0 < q_min < q_max < 100.0, по умолчанию (25.0, 75.0)

Диапазон квантилей, используемый для вычисления scale_. По умолчанию он равен ИКР, т.е. q_min — первая квантиль, а q_max — третья квантиль.

Добавлен в версии 0.18.

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

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

unit_variancebool, по умолчанию False

Если True, масштабировать данные так, чтобы нормально распределенные черты имели дисперсию 1. В общем случае, если разность между значениями x q_max и q_min для стандартного нормального распределения больше 1, набор данных будет масштабироваться вниз. Если меньше 1, набор данных будет масштабироваться вверх.

Добавлен в версии 0.24.

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

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

См. также

RobustScaler

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

Примечания

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

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

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

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

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

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

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

Примеры

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

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

Spec-Zone.ru

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