Как указать операции в конвейере? - PullRequest
0 голосов
/ 10 октября 2019

Я собираюсь привыкнуть к Трубопроводам , поэтому сначала я должен изучить / понять их. Я пытаюсь скопировать процедуру из здесь , но я не могу применить ее к своему делу.

Там пишут:

# create feature union
features = []
features.append(('pca', PCA(n_components=3)))
features.append(('select_best', SelectKBest(k=6)))
feature_union = FeatureUnion(features)
# create pipeline
estimators = []
estimators.append(('feature_union', feature_union))
estimators.append(('logistic', LogisticRegression()))
model = Pipeline(estimators)
# evaluate pipeline
seed = 7
kfold = KFold(n_splits=10, random_state=seed)
results = cross_val_score(model, X, Y, cv=kfold)

ВВ моем случае я хотел бы сделать следующее:

estimators = []
estimators.append('standardize', StandardScaler().fit_transform())
prepare_data = Pipeline(estimators)

Но при использовании fit_transform() я получаю ошибку fit_transform() missing 1 required positional argument: 'X'. Но как я могу использовать эту функцию StandardScaler() внутри конвейера?

1 Ответ

1 голос
/ 10 октября 2019

Вы должны вызвать fit_transform для самого конвейера.

X = ...
estimators = []
estimators.append('standardize', StandardScaler())
prepare_data = Pipeline(estimators)
X_scaled = prepare_data.fit_transform(X)
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...