dask_ml.compose.make_column_transformer
dask_ml.compose.make_column_transformer¶
- dask_ml.compose.make_column_transformer(*transformers, **kwargs)¶
从给定的转换器构建一个 ColumnTransformer。
这是 ColumnTransformer 构造函数的缩写;它不要求也不允许对转换器进行命名。相反,它们会根据类型自动获得名称。它也不支持使用
transformer_weights
进行加权。在用户指南中阅读更多内容。
- 参数
- *transformers元组
形式为 (转换器, 列) 的元组,指定应用于数据子集的转换器对象。
- 转换器{‘drop’, ‘passthrough’} 或 估计器
估计器必须支持 fit 和 transform。也接受特殊字符串 ‘drop’ 和 ‘passthrough’,分别表示丢弃列或不对其进行转换直接通过。
- 列str, 类str数组, int, 类int数组, 切片, 类bool数组 或 可调用对象
对数据按第二个轴进行索引。整数被解释为位置列,而字符串可以按名称引用 DataFrame 列。当
transformer
期望 X 是 1d 数组(向量)时,应使用标量字符串或整数;否则,2d 数组将传递给转换器。可调用对象被传入输入数据 X 并可以返回上述任何一种类型。要按名称或 dtype 选择多列,可以使用make_column_selector
。
- remainder{‘drop’, ‘passthrough’} 或 估计器, default=’drop’
默认情况下,输出中仅转换并组合 transformers 中指定的列,未指定的列将被丢弃(默认值为
'drop'
)。通过指定remainder='passthrough'
,所有在 transformers 中未指定的剩余列将自动直接通过。此列子集会与转换器的输出连接。通过将remainder
设置为估计器,剩余的未指定列将使用该remainder
估计器。估计器必须支持 fit 和 transform。- sparse_thresholdfloat, default=0.3
如果转换后的输出包含稀疏数据和密集数据的混合,则如果密度低于此值,它将被堆叠为稀疏矩阵。使用
sparse_threshold=0
总是返回密集格式。当转换后的输出全部由稀疏数据或全部由密集数据组成时,堆叠结果将分别是稀疏或密集的,并且此关键字将被忽略。- n_jobsint, default=None
并行运行的作业数。
None
表示 1,除非在joblib.parallel_backend
上下文中。-1
表示使用所有处理器。有关更多详细信息,请参阅术语表。- verbosebool, default=False
如果为 True,则在每个转换器完成拟合时会打印其耗时。
- verbose_feature_names_outbool, default=True
如果为 True,
ColumnTransformer.get_feature_names_out()
会将生成特征的转换器名称作为所有特征名称的前缀。如果为 False,ColumnTransformer.get_feature_names_out()
不会为任何特征名称添加前缀,如果特征名称不唯一则会报错。版本 1.0 新增。
- force_int_remainder_colsbool, default=True
强制 transformers_ 中最后一个条目(对应于“剩余”转换器)的列始终存储为索引 (int) 而非列名 (str)。详见
ColumnTransformer.transformers_
属性的描述。注意
如果您不访问
ColumnTransformer.transformers_
拟合属性中剩余列的列表,则无需设置此参数。版本 1.5 新增。
版本 1.7 更改:force_int_remainder_cols 的默认值将在版本 1.7 中从 True 更改为 False。
- 返回
- ctColumnTransformer
返回一个
ColumnTransformer
对象。
另请参阅
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'])])