说我有一个带有一堆数字特征的数据集。我不确定在模型中使用数字特征的最佳方法是什么,因此我决定对它们应用不同的转换并将这些结果添加到数据集中。这些转换可以是MinMax Scaling,StandardScaling,LogTransform等。
因此,基本上,在原始数据中,我可能只具有特征“ Value_in_Dollars”,并且在完成所有转换之后,我还希望在数据集中具有转换后的特征:
"Value_in_Dollars_MinMax", "Value_in_Dollars_SS", "Value_in_Dollars_Log"
除了原始列。
我知道如何手动执行此操作,但是如何在Sklearn管道中执行此操作?这有可能吗?
使用FeatureUnion
,可能还使用ColumnTransformer
,例如
union = FeatureUnion([("MinMax", MinMaxScaler()),
("SS", StandardScaler()),
("Log", FunctionTransformer(np.log1p)])
proc = ColumnTransformer([('trylots', union, ['Value_In_Dollars'])],
remainder='passthrough')