FeatureUnion#

class sklearn.pipeline.FeatureUnion(transformer_list, *, n_jobs=None, transformer_weights=None, verbose=False, verbose_feature_names_out=True)[源代码]#

级联多个Transformer对象的结果。

此估计器将Transformer对象列表并行应用于输入数据,然后连接结果。这对于将多个特征提取机制组合到单个Transformer中非常有用。

变压器的参数可以使用其名称和参数名称(由'__'分隔)进行设置。通过将参数及其名称设置为另一个Transformer,可以完全替换一个Transformer,通过设置为“drop”删除或通过设置为“passthrough”禁用(传递特征而不进行转换)。

阅读更多的 User Guide .

Added in version 0.13.

参数:
transformer_list(字符串,Transformer)二元组列表

要应用于数据的Transformer对象列表。每个元组的前半部分是Transformer的名称。Transformer可以是“drop”,以使其被忽略,或者可以是“pasthrough”,以使其未改变地传递。

Added in version 1.1: 添加了选项 "passthrough" .

在 0.22 版本发生变更: 弃用 None 作为一个有利于“下降”的Transformer。

n_jobsint,默认=无

要并行运行的作业数。 None 意思是1,除非在a中 joblib.parallel_backend 上下文 -1 意味着使用所有处理器。看到 Glossary 了解更多详细信息。

在 v0.20 版本发生变更: n_jobs 默认值从1更改为无

transformer_weightsdict,默认=无

每个Transformer的特征的相乘权重。键是Transformer名称,值是权重。如果键不存在,则引发Value错误 transformer_list .

verbose布尔,默认=假

如果为True,则安装每个Transformer时所花费的时间将在安装完毕时打印出来。

verbose_feature_names_out布尔,默认=True

如果为True, get_feature_names_out 将在所有功能名称的前面加上生成该功能的Transformer的名称。如果为假, get_feature_names_out 不会在任何功能名称前加上前面,并且如果功能名称不唯一,就会出错。

Added in version 1.5.

属性:
named_transformers : Bunch

类似字典的对象,具有以下属性。只读属性,通过用户给定的名称访问任何Transformer参数。键是Transformer名称,值是Transformer参数。

Added in version 1.2.

n_features_in_int

期间看到的功能数量 fit .

feature_names_in_ :nd形状数组 (n_features_in_ ,)nd数组形状(

期间看到的要素的名称 fit .

参见

make_union

简化特征联合构建的便利功能。

示例

>>> 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...]])
>>> # An estimator's parameter can be set using '__' syntax
>>> 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安装所有变压器。

参数:
X可迭代或类似阵列,具体取决于变压器

输入数据,用于安装变压器。

y形状类似数组(n_samples,n_outputs),默认=无

监督学习的目标。

**fit_paramsdict,默认=无
  • 如果 enable_metadata_routing=False (默认):参数直接传递给 fit 副变压器的方法。

  • 如果 enable_metadata_routing=True :参数安全路由到 fit 副变压器的方法。看到 Metadata Routing User Guide 了解更多详细信息。

在 1.5 版本发生变更: **fit_params 可以通过元数据路由API路由。

返回:
self对象

DeliverUnion类实例。

fit_transform(X, y=None, **params)[源代码]#

适应所有转换器、转换数据并连接结果。

参数:
X可迭代或类似阵列,具体取决于变压器

输入要转换的数据。

y形状类似数组(n_samples,n_outputs),默认=无

监督学习的目标。

**paramsdict,默认=无
  • 如果 enable_metadata_routing=False (默认):参数直接传递给 fit 副变压器的方法。

  • 如果 enable_metadata_routing=True :参数安全路由到 fit 副变压器的方法。看到 Metadata Routing User Guide 了解更多详细信息。

在 1.5 版本发生变更: **params 现在可以通过元数据路由API进行路由。

返回:
X_t类数组或稀疏矩阵 形状(n_samples,sum_n_components)

hstack 变压器的结果。 sum_n_components 之和 n_components (输出维度)超过变压器。

get_feature_names_out(input_features=None)[源代码]#

获取用于转换的输出要素名称。

参数:
input_features字符串或无的类数组,默认=无

输入功能。

返回:
feature_names_out字符串对象的nd数组

转换的功能名称。

get_metadata_routing()[源代码]#

获取此对象的元数据路由。

请检查 User Guide 关于路由机制如何工作。

Added in version 1.5.

返回:
routingMetadataRouter

A MetadataRouter 封装路由信息。

get_params(deep=True)[源代码]#

获取此估计器的参数。

返回构造函数中给出的参数以及包含在 transformer_listFeatureUnion .

参数:
deep布尔,默认=True

如果为True,将返回此估计量和包含的作为估计量的子对象的参数。

返回:
params字符串到任何的映射

参数名称映射到其值。

set_output(*, transform=None)[源代码]#

当时设置输出容器 "transform""fit_transform" 被称为。

set_output 将将所有估计器的输出设置为 transformer_list .

参数:
transform{“默认”,“pandas”,“polars”},默认=无

配置输出 transformfit_transform .

  • "default" :Transformer的默认输出格式

  • "pandas" :DataFrame输出

  • "polars" :两极输出

  • None :转换配置不变

返回:
self估计器实例

估计实例。

set_params(**kwargs)[源代码]#

设置此估计器的参数。

有效的参数键可以与 get_params() .请注意,您可以直接设置中包含的估计器的参数 transformer_list .

参数:
**kwargsdict

该估计器的参数或包含在中的估计器的参数 transform_list .变压器的参数可以使用其名称和参数名称(由'__'分隔)进行设置。

返回:
self对象

DeliverUnion类实例。

transform(X, **params)[源代码]#

通过每个Transformer分别转换X,并连接结果。

参数:
X可迭代或类似阵列,具体取决于变压器

输入要转换的数据。

**paramsdict,默认=无

参数路由到 transform 方法的子变压器通过元数据路由API。看到 Metadata Routing User Guide 了解更多详细信息。

Added in version 1.5.

返回:
X_t形状的类数组或稀疏矩阵(n_samples,sum_n_components)

hstack 变压器的结果。 sum_n_components 之和 n_components (输出维度)超过变压器。