RobustScaler
- classsklearn.preprocessing.RobustScaler(*, with_centering=True, with_scaling=True, quantile_range=(25.0, 75.0), copy=True, unit_variance=False)[source]
-
Масштабирование признаков с использованием статистики, устойчивой к выбросам.
Этот масштабировщик удаляет медиану и масштабирует данные в соответствии с диапазоном квантилей (по умолчанию IQR: межквартильный размах). IQR — это диапазон между первым квартилем (25-й квантиль) и третьим квартилем (75-й квантиль).
Центрирование и масштабирование происходят независимо для каждого признака путем вычисления соответствующей статистики на выборках в обучающей выборке. Медиана и межквартильный размах затем сохраняются для использования на последующих данных с помощью метода
transform.Стандартизация набора данных является распространенной предварительной обработкой для многих оценок машинного обучения. Обычно это делается путем удаления среднего значения и масштабирования до единичной дисперсии. Однако выбросы часто могут отрицательно повлиять на выборочное среднее / дисперсию. В таких случаях использование медианы и межквартильного размаха часто дает лучшие результаты. Для визуализации примера и сравнения с другими масштабировщиками см. Сравнение RobustScaler с другими масштабировщиками.
Добавлен в версии 0.17.
Подробнее см. в Руководстве пользователя.
- Параметры:
-
- with_centeringbool, по умолчанию=True
-
Если
True, центрировать данные перед масштабированием. Это приведет к тому, чтоtransformвыдаст исключение при попытке применения к разреженным матрицам, поскольку центрирование предполагает создание плотной матрицы, которая в обычных случаях, вероятно, будет слишком большой, чтобы поместиться в оперативной памяти. - with_scalingbool, по умолчанию=True
-
Если
True, масштабировать данные до межквартильного размаха. - quantile_rangeкортеж (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. В общем случае, если разность между значениями xq_maxиq_minдля стандартного нормального распределения больше 1, набор данных будет уменьшен. Если меньше 1, набор данных будет увеличен.Добавлен в версии 0.24.
- Атрибуты:
-
- center_массив чисел с плавающей точкой
-
Значение медианы для каждого признака в обучающей выборке.
- scale_массив чисел с плавающей точкой
-
Межквартильный размах (масштабированный) для каждого признака в обучающей выборке.
Добавлен в версии 0.17: scale_ атрибут.
- n_features_in_int
-
Количество признаков, увиденных во время fit.
Добавлен в версии 0.24.
-
feature_names_in_массив формы (
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)[source]
-
Вычислить медиану и квантили для использования при масштабировании.
- Параметры:
-
- X{array-like, sparse matrix} of shape (n_samples, n_features)
-
Данные, используемые для вычисления медианы и квантилей, используемых для последующего масштабирования по оси признаков.
- yИгнорируется
-
Не используется, присутствует здесь для соответствия API по соглашению.
- Возвращает:
-
- selfобъект
-
Обученный масштабировщик.
- fit_transform(X, y=None, **fit_params)[source]
-
Обучить на данных, затем преобразовать их.
Обучает преобразователь на
Xиyс необязательными параметрамиfit_paramsи возвращает преобразованную версиюX.- Параметры:
-
- Xarray-like of shape (n_samples, n_features)
-
Входные образцы.
- yarray-like of shape (n_samples,) or (n_samples, n_outputs), по умолчанию=None
-
Целевые значения (None для неконтролируемых преобразований).
- **fit_paramsdict
-
Дополнительные параметры обучения.
- Возвращает:
-
- X_newndarray array of shape (n_samples, n_features_new)
-
Преобразованный массив.
- get_feature_names_out(input_features=None)[source]
-
Получить имена выходных признаков для преобразования.
- Параметры:
-
- input_featuresarray-like of str or 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 of str objects
-
Также, как входные признаки.
- get_metadata_routing()[source]
-
Получить маршрутизацию метаданных этого объекта.
Пожалуйста, ознакомьтесь с Руководством пользователя о том, как работает механизм маршрутизации.
- Возвращает:
-
- маршрутизацияMetadataRequest
-
MetadataRequestобъект, содержащий информацию о маршрутизации.
- get_params(deep=True)[source]
-
Получить параметры этого объекта.
- Параметры:
-
- deepbool, по умолчанию=True
-
Если True, вернёт параметры этого объекта и вложенных под-объектов, являющихся объектами.
- Возвращает:
-
- параметрыdict
-
Имена параметров, сопоставленные со своими значениями.
- inverse_transform(X)[source]
-
Возвращает данные к исходному виду.
- Параметры:
-
- X{array-like, sparse matrix} с формой (n_samples, n_features)
-
Преобразованные данные, которые нужно преобразовать обратно.
- Возвращает:
-
- X_tr{ndarray, sparse matrix} с формой (n_samples, n_features)
-
Преобразованный массив.
- set_output(*, transform=None)[source]
-
Настройка контейнера вывода.
См. Введение в API set_output для примера использования API.
- Параметры:
-
- transform{“default”, “pandas”, “polars”}, по умолчанию=None
-
Настройка вывода
transformиfit_transform.-
"default": Формат вывода по умолчанию преобразователя -
"pandas": Вывод в виде DataFrame -
"polars": Вывод в формате Polars -
None: Настройки преобразования не изменены
Добавлена в версии 1.4:
"polars"опция была добавлена. -
- Возвращает:
-
- selfэкземпляр объекта
-
Экземпляр объекта.
- set_params(**params)[source]
-
Устанавливает параметры этого объекта.
Метод работает с простыми объектами, а также со вложенными объектами (такими как
Pipeline). Последние имеют параметры в формате<component>__<parameter>, что позволяет обновлять каждый компонент вложенного объекта.- Параметры:
-
- **paramsdict
-
Параметры объекта.
- Возвращает:
-
- selfэкземпляр объекта
-
Экземпляр объекта.
- transform(X)[source]
-
Центрирует и масштабирует данные.
- Параметры:
-
- X{array-like, sparse matrix} с формой (n_samples, n_features)
-
Данные, используемые для масштабирования по указанной оси.
- Возвращает:
-
- X_tr{ndarray, sparse matrix} с формой (n_samples, n_features)
-
Преобразованный массив.
Примеры из галереи
© 2007–2025 The scikit-learn developers
Licensed under the 3-clause BSD License.
https://scikit-learn.org/1.6/modules/generated/sklearn.preprocessing.RobustScaler.html