QuantileTransformer
- classsklearn.preprocessing.QuantileTransformer(*, n_quantiles=1000, output_distribution='uniform', ignore_implicit_zeros=False, subsample=10000, random_state=None, copy=True)[исходный код]
-
Преобразует признаки с помощью информации о квантилях.
Этот метод преобразует признаки так, чтобы они имели равномерное или нормальное распределение. Поэтому для заданного признака такое преобразование стремится растянуть диапазон наиболее часто встречающихся значений. Оно также уменьшает влияние (маргинальных) выбросов, что делает его устойчивым методом предобработки.
Преобразование применяется независимо к каждому признаку. Сначала оценка функции распределения признака используется для отображения исходных значений на равномерное распределение. Затем полученные значения отображаются на желаемое выходное распределение с помощью соответствующей квантильной функции. Значения признаков новых/ранее не встречавшихся данных, выходящие за пределы подобранного диапазона, будут отображены на границы выходного распределения. Обратите внимание, что это нелинейное преобразование. Оно может искажать линейные корреляции между переменными, измеренными в одном масштабе, но делает переменные, измеренные в разных масштабах, более непосредственно сопоставимыми.
Примеры визуализации см. в разделе Сравнение 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. Передайте int, чтобы получать воспроизводимые результаты при нескольких вызовах функции. См. глоссарий. - copybool, по умолчанию=True
-
Задайте False, чтобы выполнить преобразование на месте и избежать копирования (если входные данные уже представлены массивом numpy).
- Атрибуты:
-
- n_quantiles_int
-
Фактическое количество квантилей, использованных для дискретизации функции распределения.
- quantiles_ndarray формы (n_quantiles, n_features)
-
Значения, соответствующие опорным квантилям.
- references_ndarray формы (n_quantiles, )
-
Квантили опорных значений.
- n_features_in_int
-
Количество признаков, обнаруженных при вызове fit.
Добавлено в версии 0.24.
-
feature_names_in_ndarray формы (
n_features_in_,) -
Имена признаков, обнаруженных при вызове fit. Определяется только в том случае, если
Xимеет имена признаков, представленные строками.Добавлено в версии 1.0.
См. также
quantile_transform-
Эквивалентная функция без API оценщика.
PowerTransformer-
Преобразование данных к нормальному распределению с помощью степенного преобразования.
StandardScaler-
Стандартизация, которая выполняется быстрее, но менее устойчива к выбросам.
RobustScaler-
Устойчивая стандартизация, устраняющая влияние выбросов, но не приводящая выбросы и остальные значения к одному масштабу.
Примечания
NaN обрабатываются как пропущенные значения: игнорируются при fit и сохраняются при transform.
Примеры
>>> 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)[исходный код]
-
Вычисляет квантили, используемые для преобразования.
- Параметры:
-
- X{array-like, sparse matrix} формы (n_samples, n_features)
-
Данные, используемые для масштабирования вдоль оси признаков. Если передана разреженная матрица, она будет преобразована в разреженную матрицу CSC. Кроме того, разреженная матрица должна содержать неотрицательные значения, если
ignore_implicit_zerosимеет значение False. - yNone
-
Игнорируется.
- Возвращает:
-
- selfobject
-
Обученный преобразователь.
- fit_transform(X, y=None, **fit_params)[исходный код]
-
Обучает преобразователь на данных, а затем преобразует их.
Обучает преобразователь на
Xиyс необязательными параметрамиfit_paramsи возвращает преобразованную версиюX.- Параметры:
-
- Xarray-like формы (n_samples, n_features)
-
Входные образцы.
- yarray-like формы (n_samples,) или (n_samples, n_outputs), по умолчанию=None
-
Целевые значения (None для преобразований без учителя).
- **fit_paramsdict
-
Дополнительные параметры обучения. Передавайте их, только если оценщик принимает дополнительные параметры в методе
fit.
- Возвращает:
-
- X_newмассив ndarray формы (n_samples, n_features_new)
-
Преобразованный массив.
- get_feature_names_out(input_features=None)[исходный код]
-
Возвращает имена выходных признаков для преобразования.
- Параметры:
-
- input_featuresarray-like из строк или 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_outndarray из строковых объектов
-
Совпадает с именами входных признаков.
- get_metadata_routing()[исходный код]
-
Возвращает маршрутизацию метаданных этого объекта.
Подробнее о работе механизма маршрутизации см. в руководстве пользователя.
- Возвращает:
-
- routingMetadataRequest
-
Объект
MetadataRequest, содержащий сведения о маршрутизации.
- get_params(deep=True)[исходный код]
-
Возвращает параметры этого оценщика.
- Параметры:
-
- deepbool, по умолчанию=True
-
Если True, возвращает параметры этого оценщика и содержащихся в нём подобъектов, которые являются оценщиками.
- Возвращает:
-
- paramsdict
-
Имена параметров, сопоставленные их значениям.
- inverse_transform(X)[исходный код]
-
Обратное преобразование в исходное пространство.
- Параметры:
-
- X{array-like, sparse matrix} формы (n_samples, n_features)
-
Данные, используемые для масштабирования вдоль оси признаков. Если передана разреженная матрица, она будет преобразована в разреженную матрицу CSC_matrix. Кроме того, разреженная матрица должна содержать неотрицательные значения, если
ignore_implicit_zerosимеет значение False.
- Возвращает:
-
- X_original{ndarray, sparse matrix} формы (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{array-like, sparse matrix} формы (n_samples, n_features)
-
Данные, используемые для масштабирования вдоль оси признаков. Если передана разреженная матрица, она будет преобразована в разреженную матрицу CSC. Кроме того, разреженная матрица должна содержать неотрицательные значения, если
ignore_implicit_zerosимеет значение False.
- Возвращает:
-
- Xt{ndarray, sparse matrix} формы (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.QuantileTransformer.html