I have a dataset containing ECG signals with 5 different classes describing the quality of a particular window of the ECG signal. I need to build a machine learning model to predict the signal quality based on features extracted from each window.
The dataset contains 1020, 5-second windows, with the following label distribution:
- Very Good: 485 occurrences
- Good: 272 occurrences
- Moderate: 138 occurrences
- FL: 75 occurrences
- Bad: 50 occurrences
The dataset is imbalanced, so I haven't performed feature selection yet. I learned that feature selection should be done before data augmentation to ensure that the synthetic data created to balance the dataset will influence the feature significance. However, I also read that the train and test split should be done before feature selection. I'm concerned that if I split the data, the lack of minority data will affect the feature selection process.
I'm new to machine learning, so I'd appreciate any suggestions on the right way to approach this. Any further suggestions would be really helpful.