make_column_transformer#

sklearn.compose.make_column_transformer(*transformers, remainder='drop', sparse_threshold=0.3, n_jobs=None, verbose=False, verbose_feature_names_out=True, force_int_remainder_cols=True)[源代码]#

从给定的变压器构造一个列变形器。

这是ColumnTransformer构造函数的缩写;它不要求也不允许命名转换器。相反,它们将根据其类型自动获得名称。它也不允许加权 transformer_weights .

阅读更多的 User Guide .

参数:
*transformers元组

形式(Transformer、列)的二元组指定要应用于数据子集的Transformer对象。

Transformer“drop”、“passthrough”}或估计器

估算者必须支持 fittransform .特殊大小写的字符串“drop”和“passthrough”也被接受,分别指示丢弃列或将它们传递未转换的列。

字符串,字符串类数组, 布尔或可调用的数组状

在第二个轴上对数据进行索引。Integer被解释为位置列,而字符串可以通过名称引用DataFrame列。应使用纯量字符串或int, transformer 期望X是一个类似1d数组的(载体),否则2d数组将被传递给Transformer。可调用对象传递输入数据 X 并可以返回上述任何一项。要按名称或数据类型选择多个列,您可以使用 make_column_selector .

remainder' drop ',' pasthrough '}或估计器,默认=' drop '

默认情况下,只有中的指定列 transformers 在输出中进行转换和组合,并删除未指定的列。(默认 'drop' ).通过指定 remainder='passthrough' ,中未指定的所有剩余列 transformers 将自动通过。该列子集与变换器的输出级联。通过设置 remainder 要成为估计器,其余未指定列将使用 remainder 估计者。估算者必须支持 fittransform .

sparse_threshold浮点数,默认值=0.3

如果转换后的输出由稀疏和密集数据的混合组成,则如果密度低于此值,则将其堆叠为稀疏矩阵。使用 sparse_threshold=0 始终返回密集。当转换后的输出由所有稀疏或所有密集数据组成时,堆叠结果将分别为稀疏或密集,并且此关键字将被忽略。

n_jobsint,默认=无

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

verbose布尔,默认=假

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

verbose_feature_names_out布尔,默认=True

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

Added in version 1.0.

force_int_remainder_cols布尔,默认=True

强制最后一个条目的列 transformers_ ,对应于“剩余”Transformer,始终存储为索引(int)而不是列名(stra)。参见description of the ColumnTransformer.transformers_ 详细信息属性。

备注

如果您不访问中剩余列的列列表 ColumnTransformer.transformers_ 适合属性,不需要设置该参数。

Added in version 1.5.

在 1.7 版本发生变更: 的默认值 force_int_remainder_cols 将从 TrueFalse 在1.7版本中。

返回:
ctColumnTransformer

返回一个 ColumnTransformer object.

参见

ColumnTransformer

类,该类允许将数据列子集上使用的多个Transformer对象的输出组合到单个特征空间中。

示例

>>> from sklearn.preprocessing import StandardScaler, OneHotEncoder
>>> from sklearn.compose import make_column_transformer
>>> make_column_transformer(
...     (StandardScaler(), ['numerical_column']),
...     (OneHotEncoder(), ['categorical_column']))
ColumnTransformer(transformers=[('standardscaler', StandardScaler(...),
                                 ['numerical_column']),
                                ('onehotencoder', OneHotEncoder(...),
                                 ['categorical_column'])])