Python Sklearn管道可添加新功能
假设我有一个数据集,其中包含一系列数字特征。我不确定在模型中使用数字特征的最佳方式是什么,所以我决定对它们应用不同的转换,并将这些结果添加到数据集中。这些转换可以是最小最大缩放、标准缩放、LogTransform等。。。不管你能想到什么 因此,基本上,在原始数据中,我可能只有特征值(单位:美元),在所有转换之后,我还希望在数据集中有转换后的特征:Python Sklearn管道可添加新功能,python,scikit-learn,pipeline,Python,Scikit Learn,Pipeline,假设我有一个数据集,其中包含一系列数字特征。我不确定在模型中使用数字特征的最佳方式是什么,所以我决定对它们应用不同的转换,并将这些结果添加到数据集中。这些转换可以是最小最大缩放、标准缩放、LogTransform等。。。不管你能想到什么 因此,基本上,在原始数据中,我可能只有特征值(单位:美元),在所有转换之后,我还希望在数据集中有转换后的特征: "Value_in_Dollars_MinMax", "Value_in_Dollars_SS", "Value_in_Dollars_Log" 除
"Value_in_Dollars_MinMax", "Value_in_Dollars_SS", "Value_in_Dollars_Log"
除了原始列之外
我知道如何手动执行此操作,但如何在Sklearn管道中执行此操作?这可能吗?使用FeatureUnion和ColumnTransformer,例如
union=特征union[MinMax,MinMaxScaler,
SS,StandardScaler,
日志,FunctionTransformernp.log1p]
proc=ColumnTransformer['trylots',union,['Value\u In_$”],
余数=‘通过’
使用FeatureUnion和Transformer,例如
union=特征union[MinMax,MinMaxScaler,
SS,StandardScaler,
日志,FunctionTransformernp.log1p]
proc=ColumnTransformer['trylots',union,['Value\u In_$”],
余数=‘通过’
您可以尝试使用“命名的步骤”的输出,并以您喜欢的方式将转换后的值添加到数据集。您可以尝试使用“命名的步骤”的输出,并以您喜欢的方式将转换后的值添加到数据集。我很好奇这一切将如何包装到一个管道中。这行得通吗?还有,有没有一种方法可以创建自定义转换,从单个管道中创建新功能?类似于管道['make_bin',lambda x:0,如果x<5,则为1]。对于您的第一个问题,可以使用proc作为管道中的一个步骤。您的第二个问题似乎应该是一个新问题,只是文档中很容易回答:看看FunctionTransformer,可能还有这里的想法。谢谢!我会查一查。我想我会通过更多的搜索找到它,但我认为在这里放一块面包屑可能对社区也有帮助。很好,我很好奇这一切是如何被包装在一条管道中的。这行得通吗?还有,有没有一种方法可以创建自定义转换,从单个管道中创建新功能?类似于管道['make_bin',lambda x:0,如果x<5,则为1]。对于您的第一个问题,可以使用proc作为管道中的一个步骤。您的第二个问题似乎应该是一个新问题,只是文档中很容易回答:看看FunctionTransformer,可能还有这里的想法。谢谢!我会查一查。我想我会通过更多的搜索找到它,但我认为在这里放一块面包屑可能对社区也有用。