I am dealing with a binary image classifier. I'm using a CNN to predict if an image is positive or negative. The problem is that the positive class represents only the 2% of the total samples. In this case, I can get lots of images, so that is not a problem. My question is about what is the best option to set up the dataset. One option is to have an unbalanced dataset, if it is extremely unbalanced like this case, the net won't learn, it'would only predict the major class. The other option is to artificially balance the data. What I've done is preparing a dataset with a 40% of the positive class and a 60% of the negative class. This dataset does not represent the real problem and is making lose a lot of samples. Is there a better option?