Sklearn管道以添加新功能

问题描述 投票:0回答:1

说我有一个带有一堆数字特征的数据集。我不确定在模型中使用数字特征的最佳方法是什么,因此我决定对它们应用不同的转换并将这些结果添加到数据集中。这些转换可以是MinMax Scaling,StandardScaling,LogTransform等。

因此,基本上,在原始数据中,我可能只具有特征“ Value_in_Dollars”,并且在完成所有转换之后,我还希望在数据集中具有转换后的特征:

"Value_in_Dollars_MinMax", "Value_in_Dollars_SS", "Value_in_Dollars_Log"

除了原始列。

我知道如何手动执行此操作,但是如何在Sklearn管道中执行此操作?这有可能吗?

python scikit-learn pipeline
1个回答
0
投票

使用FeatureUnion,可能还使用ColumnTransformer,例如

union = FeatureUnion([("MinMax", MinMaxScaler()),
                      ("SS", StandardScaler()),
                      ("Log", FunctionTransformer(np.log1p)])
proc = ColumnTransformer([('trylots', union, ['Value_In_Dollars'])],
                         remainder='passthrough')
© www.soinside.com 2019 - 2024. All rights reserved.