FunctionTransformer#

класс sklearn.preprocessing.FunctionTransformer(функция=None, inverse_func=None, *, проверять=False, accept_sparse=False, check_inverse=True, feature_names_out=None, kw_args=None, inv_kw_args=None)[источник]#

Создает преобразователь из произвольной вызываемой функции.

FunctionTransformer передает свои аргументы X (и, опционально, y) в пользовательскую функцию или объект функции и возвращает результат этой функции. Это полезно для статических преобразований, таких как взятие логарифма частот, выполнение пользовательского масштабирования и т.д.

Примечание: Если в качестве функции используется лямбда, то полученный преобразователь не будет сериализуемым (pickleable).

Добавлено в версии 0.17.

Подробнее в Руководство пользователя.

Параметры:
функциявызываемый объект, по умолчанию=None

Вызываемый объект для использования в преобразовании. Ему будут переданы те же аргументы, что и transform, с переадресацией args и kwargs. Если func равен None, то func будет тождественной функцией.

inverse_funcвызываемый объект, по умолчанию=None

Размеры и распределение матриц случайных проекций контролируются так, чтобы сохранять попарные расстояния между любыми двумя образцами набора данных. Таким образом, случайная проекция является подходящей техникой аппроксимации для методов, основанных на расстоянии.

проверятьbool, по умолчанию=False

Указывает, что входной массив X должен быть проверен перед вызовом func. Возможности включают:

  • Если False, проверка входных данных не выполняется.

  • Если True, то X будет преобразован в двумерный массив NumPy или разреженную матрицу. Если преобразование невозможно, возникает исключение.

Изменено в версии 0.22: Значение по умолчанию для validate изменено с True на False.

accept_sparsebool, по умолчанию=False

Указывает, что func принимает разреженную матрицу на вход. Если validate равен False, это не имеет эффекта. В противном случае, если accept_sparse равен false, входные данные в виде разреженной матрицы вызовут исключение.

check_inversebool, по умолчанию=True

Проверять ли, что или func с последующим inverse_func приводит к исходным входным данным. Может использоваться для проверки корректности, вызывая предупреждение, когда условие не выполняется.

Добавлено в версии 0.20.

feature_names_outвызываемый объект, ‘one-to-one’ или None, по умолчанию=None

Определяет список имен признаков, которые будут возвращены get_feature_names_out метод. Если это 'one-to-one', то выходные имена признаков будут равны входным именам признаков. Если это вызываемый объект, то он должен принимать два позиционных аргумента: этот FunctionTransformer (self) и массивоподобный список имён входных признаков (input_features). Он должен возвращать array-like выходных имен признаков. Атрибут get_feature_names_out метод определен только если feature_names_out не является None.

См. get_feature_names_out для получения дополнительной информации.

Добавлено в версии 1.1.

kw_argsdict, по умолчанию=None

Словарь дополнительных ключевых аргументов для передачи в func.

Добавлено в версии 0.18.

inv_kw_argsdict, по умолчанию=None

Словарь дополнительных ключевых аргументов для передачи в inverse_func.

Добавлено в версии 0.18.

Атрибуты:
n_features_in_int

Количество признаков, замеченных во время fit.

Добавлено в версии 0.24.

feature_names_in_ndarray формы (n_features_in_,)

Имена признаков, наблюдаемых во время fit. Определено только когда X имеет имена признаков, которые все являются строками.

Добавлено в версии 1.0.

Смотрите также

MaxAbsScaler

Масштабировать каждый признак по его максимальному абсолютному значению.

StandardScaler

Стандартизировать признаки, удаляя среднее и масштабируя до единичной дисперсии.

LabelBinarizer

Бинаризация меток в формате one-vs-all.

MultiLabelBinarizer

Преобразование между итерируемыми объектами и многометочным форматом.

Примечания

Если func возвращает вывод с columns атрибут, тогда столбцы принудительно приводятся в соответствие с выводом get_feature_names_out.

Примеры

>>> import numpy as np
>>> from sklearn.preprocessing import FunctionTransformer
>>> transformer = FunctionTransformer(np.log1p)
>>> X = np.array([[0, 1], [2, 3]])
>>> transformer.transform(X)
array([[0.       , 0.6931],
       [1.0986, 1.3862]])
fit(X, y=None)[источник]#

Обучение преобразователя путём проверки X.

Если validate является True, X будет проверено.

Параметры:
X{array-like, sparse-matrix} формы (n_samples, n_features), если validate=True иначе любой объект, который func может обрабатывать

Входной массив.

yИгнорируется

Не используется, присутствует здесь для согласованности API по соглашению.

Возвращает:
selfobject

Экземпляр класса FunctionTransformer.

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), default=None

Целевые значения (None для неконтролируемых преобразований).

**fit_paramsdict

Дополнительные параметры обучения. Передавайте только если оценщик принимает дополнительные параметры в своем fit метод.

Возвращает:
X_newndarray массив формы (n_samples, n_features_new)

Преобразованный массив.

get_feature_names_out(input_features=None)[источник]#

Получить имена выходных признаков для преобразования.

Этот метод определен только если feature_names_out не является None.

Параметры:
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_ if feature_names_in_ определен.

Возвращает:
feature_names_outndarray из str объектов

Преобразованные имена признаков.

  • Если feature_names_out является 'one-to-one', возвращаются имена входных признаков (см. input_features выше). Это требует feature_names_in_ и/или n_features_in_ должен быть определен, что делается автоматически, если validate=True. Альтернативно, вы можете установить их в func.

  • Если feature_names_out является вызываемым объектом, то он вызывается с двумя аргументами, self и input_features, и ее возвращаемое значение возвращается этим методом.

6332()[источник]#

Получить маршрутизацию метаданных этого объекта.

Пожалуйста, проверьте Руководство пользователя о том, как работает механизм маршрутизации.

Возвращает:
маршрутизацияMetadataRequest

A MetadataRequest Инкапсуляция информации о маршрутизации.

get_params(глубокий=True)[источник]#

Получить параметры для этого оценщика.

Параметры:
глубокийbool, по умолчанию=True

Если True, вернет параметры для этого оценщика и вложенных подобъектов, которые являются оценщиками.

Возвращает:
paramsdict

Имена параметров, сопоставленные с их значениями.

inverse_transform(X)[источник]#

Преобразовать X с использованием обратной функции.

Параметры:
X{array-like, sparse-matrix} формы (n_samples, n_features), если validate=True иначе любой объект, который inverse_func может обрабатывать

Входной массив.

Возвращает:
X_originalarray-like, shape (n_samples, n_features)

Преобразованный вход.

set_output(*, преобразовать=None)[источник]#

Установить контейнер вывода.

См. Введение API set_output для примера использования API.

Параметры:
преобразовать{“default”, “pandas”, “polars”}, по умолчанию=None

Настройка вывода transform и fit_transform.

  • "default": Формат вывода трансформера по умолчанию

  • "pandas": DataFrame вывод

  • "polars": Вывод Polars

  • None: Конфигурация преобразования не изменена

Добавлено в версии 1.4: "polars" опция была добавлена.

Возвращает:
selfэкземпляр estimator

Экземпляр оценщика.

set_params(**params)[источник]#

Установить параметры этого оценщика.

Метод работает как на простых оценщиках, так и на вложенных объектах (таких как Pipeline). Последние имеют параметры вида __ чтобы можно было обновить каждый компонент вложенного объекта.

Параметры:
**paramsdict

Параметры оценщика.

Возвращает:
selfэкземпляр estimator

Экземпляр оценщика.

преобразовать(X)[источник]#

Преобразовать X с использованием прямой функции.

Параметры:
X{array-like, sparse-matrix} формы (n_samples, n_features), если validate=True иначе любой объект, который func может обрабатывать

Входной массив.

Возвращает:
X_outarray-like, shape (n_samples, n_features)

Преобразованный вход.