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”}或估计器
估算者必须支持 fit 和 transform .特殊大小写的字符串“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
估计者。估算者必须支持 fit 和 transform .- 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 theColumnTransformer.transformers_
详细信息属性。备注
如果您不访问中剩余列的列列表
ColumnTransformer.transformers_
适合属性,不需要设置该参数。Added in version 1.5.
在 1.7 版本发生变更: 的默认值
force_int_remainder_cols
将从True
到False
在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'])])