scikit-learn:转换器按名称选择列

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

上下文

[我正在使用scikit-learn,正在寻找一个可以让我简单地选择保留哪些列或删除哪些列的转换器。

问题

实际上,我想在我的管道中包含一个additional转换步骤,该步骤使我可以选择保留或删除哪些列。我知道,在下面的示例中,我可以简单地使用余数,但是在我需要对列选择进行参数化以便轻松将其应用于训练,测试和最终评分的真实实现中将无法使用。

示例

import numpy as np
import pandas as pd
from sklearn.compose import ColumnTransformer
from sklearn import preprocessing
prep_pipeline = ColumnTransformer(transformers=[("std_num", preprocessing.StandardScaler(), ["a", "b"])],
                                  remainder = "passthrough")
X = pd.DataFrame([[0., 1., 2., 2.],
              [1., 1., 0., 1.]])
X.columns = ["a", "b", "c", "d"]
prep_pipeline.fit_transform(X)

期望的解决方案

我需要的解决方案通过管道传递一个[[additional转换器步骤,该步骤仅作用于所选列[“ a”,“ d”],因此预期输出为:]]array([[-1., 1.], [ 1., -1.]])

上下文我正在使用scikit-learn,正在寻找一个转换器,该转换器可以让我简单地选择保留哪些列或删除哪些列。问题在实践中,我想包括在...
python scikit-learn
1个回答
0
投票
在您的管道中使用该类
© www.soinside.com 2019 - 2024. All rights reserved.