I am working on a binary classification problem, where I have 2 classes (0 and 1). I have created a balanced Dataset with 70k samples(50% have the class 0 and the other 50 % the class 1), trained a DNN (Multi-Layer Perceptron) over 70 % of the data and validated over the rest 30%. Training accuracy and Validation accuracy were about 98%). Now I am trying to do a prediction on a new unbalanced Dataset with 95 % of the samples belong to the class 0 and only 5% to the class 1. I got a very poor prediction accuracy (30-40%). Does that mean that the model isn't generalized ? Any ideas how to solve this problem ?