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=Trueelse any object thatfunccan handle -
Входной массив.
- yIgnored
-
Не используется; присутствует для согласованности API в соответствии с соглашением.
-
X{array-like, sparse-matrix} of shape (n_samples, n_features) if
- Возвращает:
-
- 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=Trueelse any object thatinverse_funccan handle -
Входной массив.
-
X{array-like, sparse-matrix} of shape (n_samples, n_features) if
- Возвращает:
-
- 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=Trueelse any object thatfunccan handle -
Входной массив.
-
X{array-like, sparse-matrix} of shape (n_samples, n_features) if
- Возвращает:
-
- 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