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.
- 属性:
参见
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_list
的FeatureUnion
.- 参数:
- deep布尔,默认=True
如果为True,将返回此估计量和包含的作为估计量的子对象的参数。
- 返回:
- params字符串到任何的映射
参数名称映射到其值。
- set_output(*, transform=None)[源代码]#
当时设置输出容器
"transform"
和"fit_transform"
被称为。set_output
将将所有估计器的输出设置为transformer_list
.- 参数:
- transform{“默认”,“pandas”,“polars”},默认=无
配置输出
transform
和fit_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
(输出维度)超过变压器。