【发布时间】:2021-03-05 01:28:24
【问题描述】:
我正在 scikit-learn 中构建管道。我必须对不同的特性进行不同的转换,然后将它们全部标准化。所以我为每组列构建了一个带有自定义转换器的ColumnTransformer:
transformation_pipeline = ColumnTransformer([
('adoption', TransformAdoptionFeatures, features_adoption),
('census', TransformCensusFeaturesRegr, features_census),
('climate', TransformClimateFeatures, features_climate),
('soil', TransformSoilFeatures, features_soil),
('economic', TransformEconomicFeatures, features_economic)
],
remainder='drop')
然后,由于我想创建两个不同的管道来标准化和规范化我的功能,我正在考虑将transformation_pipeline 和缩放器合并到一个管道中:
full_pipeline_stand = Pipeline([
('transformation', transformation_pipeline()),
('scaling', StandardScaler())
])
但是,我收到以下错误:
TypeError: 'ColumnTransformer' object is not callable
有没有办法在不为每组列构建单独的管道(结合自定义转换器和缩放器)的情况下做到这一点?这显然有效,但对我来说似乎是无用的重复......谢谢!
【问题讨论】:
标签: python scikit-learn pipeline