Split the data between the Training Data and Test Data using sklearn
What you are looking for is called Stratified sampling

From this CrossValidated question, we have a short explanation


  Stratified sampling aims at splitting one data set so that each split
  are similar with respect to something. In a classification setting, it
  is often chosen to ensure that the train and test sets have
  approximately the same percentage of samples of each target class as
  the complete set.


To get a stratified split in ScikitLearn, you just need to edit this part of your code

# Split the data between the Training Data and Test Data
xTrain , xTest , yTrain , yTest = train_test_split(X , y , 
                                                  test_size = 0.30 , 
                                                  random_state = 0, 
                                          -----&gt;  stratify = y)


This will automatically split your dataset in train and test but also keep the same proportion of positives and negatives as the original dataset.

So, if you have a dataset where the positive class is 70% of the records and negative class 30%, after a stratified split, both train and test will have the same 70-30 distribution.