特征联合#
- class sklearn.pipeline.FeatureUnion(transformer_list, *, n_jobs=None, transformer_weights=None, verbose=False, verbose_feature_names_out=True)[source]#
- 连接多个变换器对象的输出结果。 - 此估计器并行地将一系列转换器对象应用于输入数据,然后将结果连接起来。这对于将多个特征提取机制组合成单个转换器非常有用。 - 可以使用转换器的名称和参数名称(用“__”分隔)来设置转换器的参数。可以通过将其名称对应的参数设置为另一个转换器来完全替换转换器,设置为“drop”来删除转换器,或设置为“passthrough”(特征在不进行转换的情况下直接传递)来禁用转换器。 - 更多信息请参见用户指南。 - 0.13 版本新增。 - 参数:
- transformer_list (str, transformer) 元组列表
- 应用于数据的转换器对象列表。每个元组的前半部分是转换器的名称。转换器可以是“drop”,表示忽略它;也可以是“passthrough”,表示特征不变地传递。 - 1.1 版本新增:添加了 - "passthrough"选项。- 0.22 版本变更:弃用 - None作为转换器,建议使用“drop”。
- n_jobsint,默认值=None
- 并行运行的任务数。 - None表示 1(除非在- joblib.parallel_backend上下文中)。- -1表示使用所有处理器。更多详情请参见术语表。- v0.20 版本变更: - n_jobs的默认值从 1 变为 None。
- transformer_weightsdict,默认值=None
- 每个转换器的特征乘法权重。键是转换器名称,值是权重。如果键不在 - transformer_list中,则引发 ValueError。
- verbosebool,默认值=False
- 如果为 True,则在每个转换器拟合完成后打印经过的时间。 
- verbose_feature_names_outbool,默认值=True
- 如果为 True, - get_feature_names_out将在所有特征名称前加上生成该特征的转换器的名称作为前缀。如果为 False,- get_feature_names_out将不添加任何前缀,如果特征名称不唯一则会报错。- 1.5 版本新增。 
 
- 属性:
- named_transformersBunch
- 字典状对象,具有以下属性。只读属性,用于通过用户给定的名称访问任何转换器参数。键是转换器名称,值是转换器参数。 - 1.2 版本新增。 
- n_features_in_int
- 在 拟合过程中看到的特征数量。 
- feature_names_in_形状为 (- n_features_in_,) 的 ndarray
- 在 拟合过程中看到的特征名称。 
 
- named_transformers
 - 另请参见 - 创建联合
- 用于简化特征联合构造的便捷函数。 
 - 示例 - >>> 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)[source]#
- 使用 X 拟合所有转换器。 - 参数:
- X可迭代对象或数组状对象,取决于转换器
- 用于拟合转换器的输入数据。 
- y形状为 (n_samples, n_outputs) 的数组状对象,默认值=None
- 监督学习的目标。 
- **fit_paramsdict,默认值=None
- 如果 - enable_metadata_routing=False(默认值):直接传递给子转换器的- fit方法的参数。
- 如果 - enable_metadata_routing=True:安全地将参数路由到子转换器的- fit方法。更多详情请参见 元数据路由用户指南。
 - 1.5 版本变更: - **fit_params可以通过元数据路由 API 进行路由。
 
- 返回值:
- self对象
- FeatureUnion 类实例。 
 
 
 - fit_transform(X, y=None, **params)[source]#
- 拟合所有转换器,转换数据并连接结果。 - 参数:
- X可迭代对象或数组状对象,取决于转换器
- 要转换的输入数据。 
- y形状为 (n_samples, n_outputs) 的数组状对象,默认值=None
- 监督学习的目标。 
- **paramsdict,默认值=None
- 如果 - enable_metadata_routing=False(默认值):直接传递给子转换器的- fit方法的参数。
- 如果 - enable_metadata_routing=True:安全地将参数路由到子转换器的- fit方法。更多详情请参见 元数据路由用户指南。
 - 1.5 版本变更: - **params现在可以通过元数据路由 API 进行路由。
 
- 返回值:
- X_t形状为 (n_samples, sum_n_components) 的数组状或稀疏矩阵
- 转换器结果的 - hstack。- sum_n_components是转换器上- n_components(输出维度)的总和。
 
 
 - get_feature_names_out(input_features=None)[source]#
- 获取转换的输出特征名称。 - 参数:
- input_featuresstr 的数组状对象或 None,默认值=None
- 输入特征。 
 
- 返回值:
- feature_names_outstr 对象的 ndarray
- 转换后的特征名称。 
 
 
 - get_metadata_routing()[source]#
- 获取此对象的元数据路由。 - 请查看用户指南了解路由机制的工作原理。 - 1.5 版本新增。 - 返回值:
- routingMetadataRouter
- 一个 - MetadataRouter,封装了路由信息。
 
 
 - get_params(deep=True)[source]#
- 获取此估计器的参数。 - 返回构造函数中给定的参数以及 - FeatureUnion的- transformer_list中包含的估计器的参数。- 参数:
- deepbool, default=True
- 如果为 True,则将返回此估计器的参数以及其中包含的作为估计器的子对象的参数。 
 
- 返回值:
- paramsstring 到 any 的映射
- 参数名称与其值的映射。 
 
 
 - set_output(*, transform=None)[source]#
- 设置调用 - "transform"和- "fit_transform"时的输出容器。- set_output将设置- transformer_list中所有估计器的输出。- 参数:
- transform{“default”, “pandas”, “polars”}, default=None
- 配置 - transform和- fit_transform的输出。- "default": 变换器的默认输出格式
- "pandas": DataFrame 输出
- "polars": Polars 输出
- None: 变换配置保持不变
 
 
- 返回值:
- self估计器实例
- 估计器实例。 
 
 
 
 
     
