FeatureUnion#
- class sklearn.pipeline.FeatureUnion(transformer_list, *, n_jobs=None, transformer_weights=None, verbose=False, verbose_feature_names_out=True)#
将多个转换器对象的结果连接起来。
该估计器将输入数据并行应用于一系列转换器对象,然后将结果连接起来。这对于将多个特征提取机制组合成一个转换器非常有用。
可以使用转换器的名称和参数名称用双下划线分隔来设置转换器的参数。可以通过将其名称的参数设置为另一个转换器来完全替换转换器,通过设置为’drop’来移除,或通过设置为’passthrough’来禁用(特征未经转换传递)。
更多信息请参阅 用户指南 。
Added in version 0.13.
- Parameters:
- transformer_list包含(str, transformer)元组的列表
要应用于数据的转换器对象列表。每个元组的前半部分是转换器的名称。转换器可以是’drop’以忽略它,或者是’passthrough’以不变地传递特征。
Added in version 1.1: 添加了
"passthrough"选项。Changed in version 0.22: 弃用了
None作为转换器,改为使用’drop’。- n_jobsint, default=None
并行运行的作业数。
None意味着1,除非在joblib.parallel_backend上下文中。-1意味着使用所有处理器。有关更多详细信息,请参阅 Glossary 。Changed in version v0.20:
n_jobs默认值从1改为None- transformer_weightsdict, default=None
每个转换器的特征乘法权重。 键是转换器名称,值是权重。 如果键在
transformer_list中不存在,则引发 ValueError。- verbosebool, default=False
如果为True,则在完成每个转换器的拟合时,将打印所用的时间。
- verbose_feature_names_outbool, default=True
如果为True,
get_feature_names_out将在所有特征名称前加上生成该特征的转换器的名称。 如果为False,get_feature_names_out将不会添加任何特征名称前缀,并且在特征名称不唯一时会出错。Added in version 1.5.
- Attributes:
- named_transformers
Bunch 类似字典的对象,具有以下属性。 只读属性,用于按用户给定的名称访问任何转换器参数。键是转换器名称,值是转换器参数。
Added in version 1.2.
n_features_in_int特征在 fit 过程中看到的数量。
feature_names_in_ndarray of shape (n_features_in_,)名称在 fit 期间看到的特征。
- named_transformers
See also
make_union用于简化特征联合构造的便捷函数。
Examples
>>> from sklearn.pipeline import FeatureUnion >>> from sklearn.decomposition import PCA, TruncatedSVD >>> union = FeatureUnion([("pca", PCA(n_components=1)), ... ("svd", TruncatedSVD(n_components=2))]) >>> X = [[0., 1., 3], [2., 2., 5]] >>> union.fit_transform(X) array([[-1.5 , 3.0..., -0.8...], [ 1.5 , 5.7..., 0.4...]]) >>> # 可以使用 '__' 语法设置估计器的参数 >>> union.set_params(svd__n_components=1).fit_transform(X) array([[-1.5 , 3.0...], [ 1.5 , 5.7...]])
有关更详细的示例,请参阅 连接多种特征提取方法 。
- fit(X, y=None, **fit_params)#
拟合所有转换器使用X。
- Parameters:
- X可迭代或类似数组,取决于转换器
输入数据,用于拟合转换器。
- y形状为 (n_samples, n_outputs) 的数组,默认=None
监督学习的目标。
- **fit_params字典,默认=None
如果
enable_metadata_routing=False(默认): 参数直接传递给子转换器的fit方法。如果
enable_metadata_routing=True: 参数安全地路由到子转换器的fit方法。有关更多详细信息,请参阅 Metadata Routing User Guide 。
Changed in version 1.5:
**fit_params可以通过元数据路由 API 进行路由。
- Returns:
- self对象
FeatureUnion 类实例。
- fit_transform(X, y=None, **params)#
拟合所有转换器,转换数据并连接结果。
- Parameters:
- X可迭代对象或数组形式,取决于转换器
要转换的输入数据。
- y形状为 (n_samples, n_outputs) 的数组形式,默认=None
监督学习的目标。
- **params字典,默认=None
如果
enable_metadata_routing=False(默认): 直接传递给子转换器fit方法的参数。如果
enable_metadata_routing=True: 安全路由到子转换器fit方法的参数。有关更多详细信息,请参阅 Metadata Routing User Guide 。
Changed in version 1.5:
**params现在可以通过元数据路由 API 进行路由。
- Returns:
- X_t数组形式或稀疏矩阵,形状为 (n_samples, sum_n_components)
转换器结果的
hstack。sum_n_components是转换器上n_components(输出维度)的总和。
- get_feature_names_out(input_features=None)#
获取变换后的输出特征名称。
- Parameters:
- input_features字符串数组或None,默认=None
输入特征。
- Returns:
- feature_names_out字符串对象的ndarray
变换后的特征名称。
- get_metadata_routing()#
获取此对象的元数据路由。
请查看 用户指南 以了解路由机制的工作原理。
Added in version 1.5.
- Returns:
- routingMetadataRouter
MetadataRouter封装的 路由信息。
- get_params(deep=True)#
获取此估计器的参数。
返回在构造函数中给出的参数以及包含在
FeatureUnion的transformer_list中的估计器。- Parameters:
- deepbool, default=True
如果为True,将返回此估计器和包含的作为估计器的子对象的参数。
- Returns:
- params字符串到任意类型的映射
参数名称映射到它们的值。
- set_output(*, transform=None)#
设置在调用
"transform"和"fit_transform"时的输出容器。set_output将设置transformer_list中所有估计器的输出。- Parameters:
- transform{“default”, “pandas”, “polars”}, default=None
配置
transform和fit_transform的输出。"default": 转换器的默认输出格式"pandas": DataFrame 输出"polars": Polars 输出None: 转换配置不变
- Returns:
- self估计器实例
估计器实例。
- set_params(**kwargs)#
设置此估计器的参数。
可以使用
get_params()列出有效的参数键。请注意,您可以直接设置transformer_list中包含的估计器的参数。- Parameters:
- **kwargsdict
此估计器的参数或
transform_list中包含的估计器的参数。可以使用其名称和参数名称用 ‘__’ 分隔来设置转换器的参数。
- Returns:
- selfobject
FeatureUnion 类实例。
- transform(X, **params)#
Transform X separately by each transformer, concatenate results.
- Parameters:
- Xiterable or array-like, depending on transformers
Input data to be transformed.
- **paramsdict, default=None
Parameters routed to the
transformmethod of the sub-transformers via the metadata routing API. See Metadata Routing User Guide for more details.Added in version 1.5.
- Returns:
- X_tarray-like or sparse matrix of shape (n_samples, sum_n_components)
The
hstackof results of transformers.sum_n_componentsis the sum ofn_components(output dimension) over transformers.