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)[исходный код]

Создаёт преобразователь из произвольного вызываемого объекта.

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

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

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

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

Параметры:
funccallable, default=None

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

inverse_funccallable, default=None

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

validatebool, default=False

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

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

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

accept_sparsebool, default=False

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

check_inversebool, default=True

Проверять ли, что func, за которым следует inverse_func, приводит к исходным входным данным. Эта проверка позволяет убедиться в корректности преобразования; если условие не выполняется, выдаётся предупреждение.

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

feature_names_outcallable, ‘one-to-one’ or None, default=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, default=None

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

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

inv_kw_argsdict, default=None

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

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

Атрибуты:
n_features_in_int

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

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

feature_names_in_ndarray of shape (n_features_in_,)

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

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

См. также

MaxAbsScaler

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

StandardScaler

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

LabelBinarizer

Бинаризует метки по схеме «один против всех».

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} of shape (n_samples, n_features) if validate=True else any object that func can handle

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

yIgnored

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

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

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

fit_transform(X, y=None, **fit_params)[исходный код]

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

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

Параметры:
Xarray-like of shape (n_samples, n_features)

Входные выборки.

yarray-like of shape (n_samples,) or (n_samples, n_outputs), default=None

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

**fit_paramsdict

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

Возвращает:
X_newndarray array of shape (n_samples, n_features_new)

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

get_feature_names_out(input_features=None)[исходный код]

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

Этот метод определён только в том случае, если feature_names_out не равен None.

Параметры:
input_featuresarray-like of str or None, default=None

Имена входных признаков.

  • Если input_features равен None, в качестве имён входных признаков используется feature_names_in_. Если feature_names_in_ не определён, имена генерируются: [x0, x1, ..., x(n_features_in_ - 1)].
  • Если input_features является объектом, подобным массиву, то input_features должен совпадать с feature_names_in_, если feature_names_in_ определён.
Возвращает:
feature_names_outndarray of str objects

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

  • Если 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()[исходный код]

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

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

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

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

get_params(deep=True)[исходный код]

Получает параметры этого оценивателя.

Параметры:
deepbool, default=True

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

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

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

inverse_transform(X)[исходный код]

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

Параметры:
X{array-like, sparse-matrix} of shape (n_samples, n_features) if validate=True else any object that inverse_func can handle

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

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

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

set_output(*, transform=None)[исходный код]

Задаёт контейнер для выходных данных.

Подробнее см. в руководстве пользователя, а пример использования API см. в разделе Знакомство с API set_output.

Параметры:
transform{“default”, “pandas”, “polars”}, default=None

Настраивает формат выходных данных transform и fit_transform.

  • "default": формат выходных данных преобразователя по умолчанию
  • "pandas": выходные данные в формате DataFrame
  • "polars": выходные данные в формате Polars
  • None: конфигурация преобразования остаётся без изменений

Добавлено в версии 1.4: Добавлен параметр "polars".

Возвращает:
selfestimator instance

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

set_params(**params)[исходный код]

Задаёт параметры этого оценивателя.

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

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

Параметры оценивателя.

Возвращает:
selfestimator instance

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

transform(X)[исходный код]

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

Параметры:
X{array-like, sparse-matrix} of shape (n_samples, n_features) if validate=True else any object that func can handle

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

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

Spec-Zone.ru

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