Преобразователь Квантилей
- классsklearn.preprocessing.QuantileTransformer(*, n_quantiles=1000, output_distribution='uniform', ignore_implicit_zeros=False, subsample=10000, random_state=None, copy=True)[source]
-
Преобразование признаков с использованием информации о квантилях.
Этот метод преобразует признаки таким образом, чтобы они следовали равномерному или нормальному распределению. Таким образом, для данного признака это преобразование имеет тенденцию распределять наиболее частые значения. Оно также уменьшает влияние (маргинальных) выбросов: это, следовательно, устойчивая схема предобработки.
Преобразование применяется к каждому признаку независимо. Сначала используется оценка функции распределения кумулятивного распределения признака для сопоставления исходных значений с равномерным распределением. Полученные значения затем отображаются на желаемое выходное распределение с использованием соответствующей функции квантиля. Значения признаков новых/невиданных данных, которые находятся ниже или выше подгоняемого диапазона, будут отображаться на границы выходного распределения. Обратите внимание, что это преобразование является нелинейным. Оно может исказить линейные корреляции между переменными, измеренными в одинаковой шкале, но делает переменные, измеренные в разных шкалах, более непосредственно сопоставимыми.
Для визуализации см. Сравнение QuantileTransformer с другими масштабировщиками.
Подробнее см. в Руководстве пользователя.
Добавлен в версии 0.19.
- Параметры:
-
- n_quantilesint, по умолчанию=1000 или n_samples
-
Количество квантилей, подлежащих вычислению. Оно соответствует числу ориентиров, используемых для дискретизации кумулятивной функции распределения. Если n_quantiles больше числа выборок, n_quantiles устанавливается в число выборок, так как большее количество квантилей не дает лучшей аппроксимации оценки кумулятивной функции распределения.
- output_distribution{‘uniform’, ‘normal’}, по умолчанию=’uniform’
-
Предельное распределение для преобразованных данных. Доступны варианты ‘uniform’ (по умолчанию) или ‘normal’.
- ignore_implicit_zerosbool, по умолчанию=False
-
Применимо только к разреженным матрицам. Если True, разреженные элементы матрицы отбрасываются для вычисления статистических данных квантилей. Если False, эти элементы обрабатываются как нули.
- subsampleint или None, по умолчанию=10_000
-
Максимальное количество выборок, используемых для оценки квантилей с целью повышения вычислительной эффективности. Обратите внимание, что процедура подвыборки может отличаться для идентичных по значению разреженных и плотных матриц. Отключить подвыборку можно, установив
subsample=None.Добавлен в версии 1.5: Была добавлена возможность
Noneдля отключения подвыборки. - random_stateint, экземпляр RandomState или None, по умолчанию=None
-
Определяет генерацию случайных чисел для подвыборки и сглаживания шума. Для получения более подробной информации см.
subsample. Передайте целое число для воспроизводимых результатов при многократных вызовах функций. См. Словарь. - copybool, по умолчанию=True
-
Установите в значение False, чтобы выполнить преобразование на месте и избежать копирования (если входные данные уже являются массивом NumPy).
- Атрибуты:
-
- n_quantiles_int
-
Фактическое количество квантилей, используемых для дискретизации кумулятивной функции распределения.
- quantiles_массив ndarray формы (n_quantiles, n_features)
-
Значения, соответствующие квантилям справки.
- references_массив ndarray формы (n_quantiles, )
-
Квантили справочных данных.
- n_features_in_int
-
Количество признаков, увиденных во время подгонки.
Добавлен в версии 0.24.
-
feature_names_in_массив ndarray формы (
n_features_in_,) -
Названия признаков, увиденные во время подгонки. Определены только тогда, когда
Xимеет имена признаков, которые все являются строками.Добавлен в версии 1.0.
См. также
quantile_transform-
Эквивалентная функция без API оценщика.
PowerTransformer-
Выполнение сопоставления с нормальным распределением с использованием преобразования степени.
StandardScaler-
Выполнение стандартизации, которое быстрее, но менее устойчиво к выбросам.
RobustScaler-
Выполнение устойчивой стандартизации, которая удаляет влияние выбросов, но не помещает выбросы и инлиеры в одну шкалу.
Примечания
NaN обрабатываются как пропущенные значения: игнорируются при подгонке и сохраняются при преобразовании.
Примеры
>>> import numpy as np >>> from sklearn.preprocessing import QuantileTransformer >>> rng = np.random.RandomState(0) >>> X = np.sort(rng.normal(loc=0.5, scale=0.25, size=(25, 1)), axis=0) >>> qt = QuantileTransformer(n_quantiles=10, random_state=0) >>> qt.fit_transform(X) array([...])
- fit(X, y=None)[source]
-
Вычисляются квантили, используемые для преобразования.
- Параметры:
-
- X{array-like, разреженная матрица} формы (n_samples, n_features)
-
Данные, используемые для масштабирования по оси признаков. Если предоставлена разреженная матрица, она будет преобразована в разреженную
csc_matrix. Кроме того, разреженная матрица должна быть неотрицательной, еслиignore_implicit_zerosравно False. - yNone
-
Игнорируется.
- Возвращаемые значения:
-
- selfобъект
-
Обученный преобразователь.
- fit_transform(X, y=None, **fit_params)[source]
-
Подгонка к данным, а затем их преобразование.
Подгоняет преобразователь к
Xиyс необязательными параметрамиfit_paramsи возвращает преобразованную версиюX.- Параметры:
-
- Xarray-like формы (n_samples, n_features)
-
Входные образцы.
- yarray-like формы (n_samples,) или (n_samples, n_outputs), по умолчанию=None
-
Значения целевых переменных (None для безконтрольных преобразований).
- **fit_paramsdict
-
Дополнительные параметры подгонки.
- Возвращаемые значения:
-
- X_newмассив ndarray формы (n_samples, n_features_new)
-
Преобразованный массив.
- get_feature_names_out(input_features=None)[source]
-
Получить имена выходных признаков для преобразования.
- Параметры:
-
- input_featuresarray-like из str или None, по умолчанию=None
-
Входные признаки.
- Если
input_featuresимеет значениеNone, тогдаfeature_names_in_используется в качестве имен признаков. Еслиfeature_names_in_не определено, то имена следующих входных признаков генерируются:["x0", "x1", ..., "x(n_features_in_ - 1)"]. - Если
input_featuresявляется array-like, тоinput_featuresдолжно соответствоватьfeature_names_in_, еслиfeature_names_in_определено.
- Если
- Возвращаемые значения:
-
- feature_names_outмассив ndarray из str объектов
-
То же, что и входные признаки.
- get_metadata_routing()[source]
-
Получить маршрутизацию метаданных этого объекта.
Пожалуйста, ознакомьтесь с Руководством пользователя о том, как работает механизм маршрутизации.
- Возвращает:
-
- маршрутизацияMetadataRequest
-
Объект
MetadataRequest, содержащий информацию о маршрутизации.
- get_params(deep=True)[source]
-
Получить параметры этого оценщика.
- Параметры:
-
- deepbool, по умолчанию=True
-
Если True, вернёт параметры этого оценщика и вложенных подобъектов, которые также являются оценщиками.
- Возвращает:
-
- paramsdict
-
Имена параметров, сопоставленные с их значениями.
- inverse_transform(X)[source]
-
Обратное преобразование в исходное пространство.
- Параметры:
-
- X{array-like, разреженная матрица} размера (n_samples, n_features)
-
Данные, используемые для масштабирования по осям признаков. Если предоставлена разреженная матрица, она будет преобразована в разреженную
csc_matrix. Кроме того, разреженная матрица должна быть неотрицательной, еслиignore_implicit_zerosравно False.
- Возвращает:
-
- Xt{ndarray, разреженная матрица} размера (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, разреженная матрица} размера (n_samples, n_features)
-
Данные, используемые для масштабирования по осям признаков. Если предоставлена разреженная матрица, она будет преобразована в разреженную
csc_matrix. Кроме того, разреженная матрица должна быть неотрицательной, еслиignore_implicit_zerosравно False.
- Возвращает:
-
- Xt{ndarray, разреженная матрица} размера (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.QuantileTransformer.html