TransformerMixin#

class sklearn.base.TransformerMixin[source]#

scikit-learn 中所有转换器的混合类。

此混合类定义了以下功能:

  • 一个 fit_transform 方法,它委托给 fittransform

  • 一个 set_output 方法,用于将 X 输出为特定容器类型。

如果定义了 get_feature_names_out,则 BaseEstimator 将自动封装 transformfit_transform 以遵循 set_output API。详情请参阅 set_output 的开发者 API

OneToOneFeatureMixinClassNamePrefixFeaturesOutMixin 是定义 get_feature_names_out 的有用混合类。

示例

>>> import numpy as np
>>> from sklearn.base import BaseEstimator, TransformerMixin
>>> class MyTransformer(TransformerMixin, BaseEstimator):
...     def __init__(self, *, param=1):
...         self.param = param
...     def fit(self, X, y=None):
...         return self
...     def transform(self, X):
...         return np.full(shape=len(X), fill_value=self.param)
>>> transformer = MyTransformer()
>>> X = [[1, 2], [2, 3], [3, 4]]
>>> transformer.fit_transform(X)
array([1, 1, 1])
fit_transform(X, y=None, **fit_params)[source]#

拟合数据,然后对其进行转换。

使用可选参数 fit_params 将转换器拟合到 Xy,并返回 X 的转换版本。

参数:
X形状为 (n_samples, n_features) 的类数组

输入样本。

y形状为 (n_samples,) 或 (n_samples, n_outputs) 的类数组,默认值=None

目标值(对于无监督转换,为 None)。

**fit_params字典

额外的拟合参数。

返回:
X_new形状为 (n_samples, n_features_new) 的 ndarray 数组

转换后的数组。

set_output(*, transform=None)[source]#

设置输出容器。

有关如何使用此 API 的示例,请参阅介绍 set_output API

参数:
transform{“default”, “pandas”, “polars”},默认值=None

配置 transformfit_transform 的输出。

  • "default": 转换器的默认输出格式

  • "pandas": DataFrame 输出

  • "polars": Polars 输出

  • None: 转换配置未更改

1.4 版新增: 增加了 "polars" 选项。

返回:
self估计器实例

估计器实例。