I am currently working on a binary time-series classification problem using the keras
deep learning library. The dataset that I am working with is heavily imbalanced as you can see in the table below:
Counts | |
---|---|
Positive Class | 3,615 |
Negative Class | 38,757 |
I've read in many places of people using SMOTE or ADASYN to solve the problem of class imbalance in their datasets and to make the classifier be able to recognize the minority class. As such, I've tried to apply that using the imblearn
Python library. The current approach to the data preprocessing that I am following can be seen in the diagram below:
With this, a very simple 2D convolutional neural network is trained and the loss-epoch curve is as follows:
I have tried many solutions to this problem such as the addition of dropout, batch normalization, increasing, and decreasing the size of the network but despite that nothing seems to help.
Is there anything that I can do to solve the problem of overfitting when using ADASYN or SMOTE with this dataset that I have?