0
0 комментариев

Вопрос про pipelines из scikit. Есть у меня PolynomialFeatures(), PCA() и LogReg(). Есть обучающая выборка x_train, y_train и тестовая x_test, y_test. Через x, y обозначу union(x_test, x_train) и union(y_test, y_train) соответственно. Хочу сделать следующий финт ушами:

Закинуть в x_poly = PolynomialFeatures(x_train). Применить к ним x_pca = PCA(x_poly) с понижением размерности. Затем объединить x_union = concatenate(x_train, x_pca, axis=1). И поклассифицировать их через LogReg().

Вопросы.

  • У pipeline есть метод fit(X, [y]). Я так понимаю, что [y]используется лишь в том случае, если он есть у соответствующего алгоритма. Т.е. в PCA.fit() y не будет использоваться, а в LogReg().fit() будет использоваться.

    • Каким образом разрешится вопрос с PolynomialFeatures(), ведь у этого объекта, метод fit() имеет 2 аргумента: fit(X, y=None)?
    • Что здесь обозначает y в документации?
    • В каких случаях, всё-таки, будет использоваться y в алгоритмах, присутствующих в pipeline, а в каких — нет?
  • Мне нужно объединить x_pca с x_train. Как это сделать, если непосредственно numpy использовать нельзя? Если можно использовать numpy, то как?

  • Можно ли в pipeline использовать условия. Например. Дойдя до определённой стадии алгоритма. Скажем, до PCA(). Я считаю дисперсию по максимальной компоненте. Если она > 0.5, то я использую logReg(). Если меньше, то я использую SVM(). Есть ли возможность реализовать такой функционал?

Изменен статус публикации
Добавить комментарий