I have been practicing Data Science/Machine Learning, and I am confused about when to complete the following tasks when using train-test split in scikit learn:
- EDA
- Filling in missing data
- Removing data that isn't needed
- Working with categorical data
- Feature Engineering
- Feature Selection
I know that scaling should be done after train-test split. However, I have seen both approaches (train-test split before and after) when working with the above tasks.
I'm confused about which is the correct way for these tasks.
Can someone provide some clarification?
Thank you!