È possibile eliminare o inserire un passaggio in un oggetto sklearn.pipeline.Pipeline
?Inserire o eliminare un passaggio nella pipeline di scikit-learn
Sto tentando di eseguire una ricerca della griglia con o senza un passaggio nell'oggetto Pipeline. E mi chiedo se posso inserire o eliminare un passaggio nella pipeline. Ho visto nel codice sorgente Pipeline
, c'è un oggetto self.steps
che contiene tutti i passaggi. Possiamo ottenere i passaggi entro il named_steps()
. Prima di modificarlo, voglio assicurarmi che non causi effetti inaspettati.
Ecco un esempio di codice:
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
E 'possibile che noi facciamo qualcosa di simile steps = clf.named_steps()
, quindi inserire o cancellare in questa lista? Ciò causa un effetto indesiderato sull'oggetto clf?
Grazie per i vostri commenti. La preoccupazione di modificare le fasi direttamente è anche la mia preoccupazione, ecco perché ho chiesto se esiste un modo sicuro per farlo. Oh, sul perché voglio modificare le condotte invece di creare nuove condutture. Il motivo è che voglio fare un sacco di esperimenti con diverse pipeline. Quindi modificarli nel codice è un modo preferito. Sono d'accordo che creare una nuova pipeline sia anche un buon modo per andare. Probabilmente riconsidererò questo. Grazie. (Spero ancora che qualcuno abbia un modo per modificare i passaggi in sicurezza :) – Bin