Czy można usunąć lub wstawić krok w obiekcie sklearn.pipeline.Pipeline
?Wstawianie lub usuwanie kroku w scikit-learn Pipeline
Próbuję wykonać wyszukiwanie siatki z jednym krokiem lub bez niego w obiekcie Pipeline. Zastanawiam się, czy mogę wstawić lub usunąć krok w potoku. W kodzie źródłowym Pipeline
widziałem obiekt self.steps
zawierający wszystkie kroki. Możemy uzyskać kroki od named_steps()
. Przed zmianą, chcę się upewnić, że nie powoduję nieoczekiwanych efektów.
Oto przykładowy kod:
from sklearn.pipeline import Pipeline
from sklearn.svm import SVC
from sklearn.decomposition import PCA
estimators = [('reduce_dim', PCA()), ('svm', SVC())]
clf = Pipeline(estimators)
clf
Czy to możliwe, że robimy coś podobnego steps = clf.named_steps()
, a następnie wstawić lub usunąć na tej liście? Czy powoduje to niepożądany efekt na obiekcie clf?
Dzięki za komentarze. Niepokoi mnie również kwestia modyfikacji kroków, dlatego zapytałem, czy istnieje bezpieczny sposób na to. Och, o tym, dlaczego chcę zmodyfikować potoki zamiast tworzyć nowe potoki. Powodem jest to, że chcę zrobić kilka eksperymentów z różnymi potokami. Więc modyfikowanie ich w kodzie jest preferowanym sposobem. Zgadzam się, że stworzenie nowego rurociągu to także dobry sposób na odejście. Prawdopodobnie rozważę to ponownie. Dzięki. (Wciąż mam nadzieję, że ktoś ma sposób na bezpieczną modyfikację kroków :) – Bin