Intellipaat Back

Explore Courses Blog Tutorials Interview Questions
0 votes
2 views
in Machine Learning by (19k points)

Is it possible to delete or insert a step in a sklearn.pipeline.Pipeline object?

I am trying to do a grid search with or without one step in the Pipeline object. And wondering whether I can insert or delete a step in the pipeline. I saw in the Pipeline source code, there is a self.steps object holding all the steps. We can get the steps by named_steps(). Before modifying it, I want to make sure, I do not cause unexpected effects.

Here is a example code:

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 

Is it possible that we do something like steps = clf.named_steps(), then insert or delete in this list? Does this cause undesired effect on the clf object?

closed

1 Answer

0 votes
by (33.1k points)
edited by
 
Best answer

You can simply insert a step in the pipeline.

For example:

pipe.steps.append(['step name',transformer()])

pipe.steps works the same as lists do, so you can also insert an item into a specific location:

#insert as second step

pipe.steps.insert(1,['estimator',transformer()]) 

Hope this answer helps you! Scikit Learn Tutorial will also be used for solving the problem.

If you want to make your career in Artificial Intelligence then go through this video:

31k questions

32.8k answers

501 comments

693 users

Browse Categories

...