转换器混合类#
- class sklearn.base.TransformerMixin[source]#
scikit-learn 中所有转换器的混合类。
此混合类定义了以下功能:
一个
fit_transform
方法,它委托给fit
和transform
方法;一个
set_output
方法,用于将X
输出为特定的容器类型。
如果定义了get_feature_names_out,则
BaseEstimator
将自动包装transform
和fit_transform
以遵循set_output
API。详情请参见set_output 开发者 API。OneToOneFeatureMixin
和ClassNamePrefixFeaturesOutMixin
是定义 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
将转换器拟合到X
和y
,并返回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
配置
transform
和fit_transform
的输出。"default"
:转换器的默认输出格式"pandas"
:DataFrame 输出"polars"
:Polars 输出None
:转换配置保持不变
版本 1.4 中新增:
"polars"
选项已添加。
- 返回:
- self估计器实例
估计器实例。
图库示例#
元数据路由
TSNE 中的近似最近邻