转换器混合类#

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 的有用 mixin。

示例

>>> 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)[源代码]#

拟合数据,然后转换它。

使用可选参数 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)[源代码]#

设置输出容器。

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

参数:
transform{"default", "pandas", "polars"},默认为 None

配置 transformfit_transform 的输出。

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

  • "pandas":DataFrame 输出

  • "polars":Polars 输出

  • None:转换配置保持不变

版本 1.4 中新增: "polars" 选项已添加。

返回:
self估计器实例

估计器实例。