Spec-Zone.ru › scikit-learn

RobustScaler

classsklearn.preprocessing.RobustScaler(*, with_centering=True, with_scaling=True, quantile_range=(25.0, 75.0), copy=True, unit_variance=False)[исходный код]

Масштабирование признаков с использованием статистик, устойчивых к выбросам.

Этот масштабировщик вычитает медиану и масштабирует данные в соответствии с диапазоном квантилей (по умолчанию — IQR: межквартильный размах). IQR — это диапазон между первым квартилем (25-м квантилем) и третьим квартилем (75-м квантилем).

Центрирование и масштабирование выполняются независимо для каждого признака: соответствующие статистики вычисляются по выборкам обучающего набора. Затем медиана и межквартильный размах сохраняются для последующего применения к данным с помощью метода transform.

Стандартизация набора данных — распространённый этап предобработки для многих алгоритмов машинного обучения. Обычно для этого вычитают среднее значение и масштабируют данные до единичной дисперсии. Однако выбросы часто могут негативно влиять на выборочное среднее значение и дисперсию. В таких случаях использование медианы и межквартильного размаха нередко даёт лучшие результаты. Пример визуализации и сравнение с другими масштабировщиками см. в разделе Сравнение RobustScaler с другими масштабировщиками.

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

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

Параметры:
with_centeringbool, по умолчанию=True

Если True, центрировать данные перед масштабированием. При попытке выполнить transform для разреженных матриц это приведёт к исключению, поскольку центрирование требует создания плотной матрицы, которая в типичных случаях использования, скорее всего, окажется слишком большой для размещения в памяти.

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

Если True, масштабировать данные до межквартильного размаха.

quantile_rangetuple (q_min, q_max), 0.0 < q_min < q_max < 100.0, по умолчанию=(25.0, 75.0)

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

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

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

Если False, попытаться избежать копирования и выполнить масштабирование на месте. Это не гарантируется: например, если данные не являются массивом NumPy или матрицей scipy.sparse CSR, всё равно может быть возвращена копия.

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

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

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

Атрибуты:
center_массив чисел с плавающей точкой

Медианное значение каждого признака в обучающем наборе.

scale_массив чисел с плавающей точкой

Межквартильный размах (с учётом масштабирования) для каждого признака в обучающем наборе.

Добавлено в версии 0.17: атрибут scale_.

n_features_in_int

Количество признаков, полученных во время fit.

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

feature_names_in_ndarray формы (n_features_in_,)

Имена признаков, полученных во время fit. Определяется только в том случае, если X имеет имена признаков, представленные строками.

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

См. также

robust_scale

Эквивалентная функция без API оценивателя.

sklearn.decomposition.PCA

Дополнительно устраняет линейную корреляцию между признаками с параметром ‘whiten=True’.

Примечания

https://en.wikipedia.org/wiki/Median https://en.wikipedia.org/wiki/Interquartile_range

Примеры

>>> from sklearn.preprocessing import RobustScaler
>>> X = [[ 1., -2.,  2.],
...      [ -2.,  1.,  3.],
...      [ 4.,  1., -2.]]
>>> transformer = RobustScaler().fit(X)
>>> transformer
RobustScaler()
>>> transformer.transform(X)
array([[ 0. , -2. ,  0. ],
       [-1. ,  0. ,  0.4],
       [ 1. ,  0. , -1.6]])
fit(X, y=None)[исходный код]

Вычислить медиану и квантили, которые будут использоваться для масштабирования.

Параметры:
X{массивоподобная структура, разреженная матрица} формы (n_samples, n_features)

Данные, используемые для вычисления медианы и квантилей, которые затем применяются для масштабирования вдоль оси признаков.

yИгнорируется

Не используется; параметр присутствует здесь для согласованности API согласно принятому соглашению.

Возвращает:
selfobject

Обученный масштабировщик.

fit_transform(X, y=None, **fit_params)[исходный код]

Обучить преобразователь на данных, а затем преобразовать их.

Обучает преобразователь на X и y с необязательными параметрами fit_params и возвращает преобразованную версию X.

Параметры:
Xмассивоподобная структура формы (n_samples, n_features)

Входные выборки.

yмассивоподобная структура формы (n_samples,) или (n_samples, n_outputs), по умолчанию=None

Целевые значения (None для преобразований без учителя).

**fit_paramsdict

Дополнительные параметры обучения. Передавайте их, только если оцениватель принимает дополнительные параметры в методе fit.

Возвращает:
X_newndarray формы (n_samples, n_features_new)

Преобразованный массив.

get_feature_names_out(input_features=None)[исходный код]

Получить имена выходных признаков для преобразования.

Параметры:
input_featuresмассивоподобная структура из строк или None, по умолчанию=None

Входные признаки.

  • Если input_features равно None, то feature_names_in_ используется в качестве имён входных признаков. Если feature_names_in_ не определено, генерируются следующие имена входных признаков: ["x0", "x1", ..., "x(n_features_in_ - 1)"].
  • Если input_features — массивоподобная структура, то input_features должно соответствовать feature_names_in_, если определено feature_names_in_.
Возвращает:
feature_names_outndarray из строковых объектов

Те же имена, что и у входных признаков.

get_metadata_routing()[исходный код]

Получить маршрутизацию метаданных этого объекта.

Описание работы механизма маршрутизации см. в руководстве пользователя.

Возвращает:
routingMetadataRequest

MetadataRequest, содержащий сведения о маршрутизации.

get_params(deep=True)[исходный код]

Получить параметры этого оценивателя.

Параметры:
deepbool, по умолчанию=True

Если True, возвращает параметры этого оценивателя и содержащихся в нём подобъектов, которые являются оценивателями.

Возвращает:
paramsdict

Имена параметров и соответствующие им значения.

inverse_transform(X)[исходный код]

Вернуть данным исходное представление.

Параметры:
X{массивоподобная структура, разреженная матрица} формы (n_samples, n_features)

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

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

Преобразованный массив.

set_output(*, transform=None)[исходный код]

Задать контейнер для выходных данных.

Подробнее см. в руководстве пользователя, а пример использования API приведён в разделе Знакомство с API set_output.

Параметры:
transform{“default”, “pandas”, “polars”}, по умолчанию=None

Настроить формат выходных данных для transform и fit_transform.

  • "default": формат выходных данных преобразователя по умолчанию
  • "pandas": вывод в формате DataFrame
  • "polars": вывод в формате Polars
  • None: конфигурация преобразования не изменяется

Добавлено в версии 1.4: добавлен параметр "polars".

Возвращает:
selfэкземпляр оценивателя

Экземпляр оценивателя.

set_params(**params)[исходный код]

Задать параметры этого оценивателя.

Метод работает как с простыми оценивателями, так и с вложенными объектами (например, Pipeline). У последних параметры имеют вид <component>__<parameter>, что позволяет обновлять каждый компонент вложенного объекта.

Параметры:
**paramsdict

Параметры оценивателя.

Возвращает:
selfэкземпляр оценивателя

Экземпляр оценивателя.

transform(X)[исходный код]

Центрировать и масштабировать данные.

Параметры:
X{массивоподобная структура, разреженная матрица} формы (n_samples, n_features)

Данные, используемые для масштабирования вдоль указанной оси.

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

Преобразованный массив.

Примеры из галереи

Заполнение пропущенных значений вариантами IterativeImputer

Заполнение пропущенных значений перед созданием оценивателя

Оценка оценивателей для обнаружения выбросов

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

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

Spec-Zone.ru

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