Spec-Zone.ru › scikit-learn

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

Spec-Zone.ru

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