sklearn.compose.make_column_transformer¶
sklearn.compose.make_column_transformer(*transformers, **kwargs)
从给定的转换器构造一个列转换器。
这是ColumnTransformer构造的缩写;它不需要也不允许命名转换器。相反,它们将根据其类型自动命名。它也不允许使用transformer_weights
进行加权。
在用户指南中阅读更多内容.
参数 | 说明 |
---|---|
*transformers | tuples 指定要应用于数据子集的转换器对象的表单(转换器、列)的元组 |
transformer | {‘drop’, ‘passthrough’} or estimator 估计器必须支持fit和transform。特殊大小写的字符串‘drop’和‘passthrough’也被接受,分别表示要删除列或将它们传递给未转换的列。 |
columns | str, array-like of str, int, array-like of int, slice, array-like of bool or callable 在其第二轴上索引数据。整数被解释为位置列,而字符串可以按名称引用DataFrame列。应该使用标量字符串或int,如果 transformer 期望X是一维数组类(向量),否则2d数组将传递给转换器。可调用传递输入数据X ,并可以返回上述任何内容。若要按名称或dtype选择多列,可以使用make_column_selector 。 |
remainder | {‘drop’, ‘passthrough’} or estimator, default=’drop’ 默认情况下,只有 transformers 中的指定列在输出中转换和组合,而非指定列被删除。(默认‘drop’ )。通过指定remainder='passthrough' ,所有未在transformers 中指定的其余列都将自动通过。这个列的子集与的transformers 输出连接在一起。通过将remainder 设置为估计器,其余未指定的列将使用remainder 估计器。估计器必须支持fit和transform。请注意,使用此特性需要在fit和transform中输入的DataFrame列具有相同的顺序。 |
sparse_threshold | float, default=0.3 如果不同的转换器输出含有稀疏矩阵,则如果总密度低于此值,则将这些矩阵叠加为稀疏矩阵。使用 sparse_threshold=0 来始终返回稠密。当转换后的输出由所有密集数据组成时,叠加的结果将是密集的,而这个关键字将被忽略。 |
n_jobs | int, default=None 要运行的并行数。 None 意味1, 除非在joblib.parallel_backend 环境中。-1 指使用所有处理器。有关详细信息,请参Glossary。 |
verbose | bool, default=False 如果是True,拟合每个变压器所需的时间将在完成时打印出来。 |
返回值 | 说明 |
---|---|
ct | ColumnTransformer |
另见
sklearn.compose.ColumnTransformer
该类允许将数据列子集上使用的多个转换器对象的输出组合到单个要素空间中。
示例
>>> 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'])])