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)
-
Преобразованный массив.
Примеры из галереи
© 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