Spec-Zone.ru › scikit-learn

FunctionTransformer

classsklearn.preprocessing.FunctionTransformer(func=None, inverse_func=None, *, validate=False, accept_sparse=False, check_inverse=True, feature_names_out=None, kw_args=None, inv_kw_args=None)[source]

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

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

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

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

Дополнительная информация в Руководстве пользователя.

Параметры:
funccallable, по умолчанию=None

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

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

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

validatebool, по умолчанию=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_outcallable, ‘one-to-one’ или None, по умолчанию=None

Определяет список имён признаков, которые будут возвращены методом get_feature_names_out. Если это ‘one-to-one’, то имена выходных признаков будут равны именам входных признаков. Если это вызываемая функция, она должна принимать два позиционных аргумента: этот FunctionTransformer (self) и массив входных имён признаков (input_features). Она должна возвращать массив выходных имён признаков. Метод 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)[source]

Подгонка преобразователя путём проверки X.

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

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

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

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

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

Возвращает:
selfобъект

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

fit_transform(X, y=None, **fit_params)[source]

Подгонка к данным, затем преобразование.

Подгоняет преобразователь к X и y с необязательными параметрами fit_params и возвращает преобразованную версию X.

Параметры:
Xмассив-подобный формы (n_samples, n_features)

Входные образцы.

yмассив-подобный формы (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]

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

Этот метод определён только если 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_ если 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, и его возвращаемое значение возвращается этим методом.
get_metadata_routing()[source]

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

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

Возвращаемое значение:
routingMetadataRequest

MetadataRequest объект, содержащий информацию о маршрутизации.

get_params(deep=True)[source]

Получить параметры этого оцениваемого объекта.

Параметры:
deepbool, по умолчанию=True

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

Возвращаемое значение:
paramsdict

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

inverse_transform(X)[source]

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

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

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

Возвращаемое значение:
X_outarray-like, размера (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 с помощью прямой функции.

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

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

Возвращаемое значение:
X_outarray-like, размера (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.FunctionTransformer.html

Spec-Zone.ru

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