# Target data values are not evenly distributed

Data nature:

I have features with 10 numeric type, and other 10 categorical, with a lot of values, at the end, using one-hot encoding I got a matrix of 600 columns. My problem is with accuracy which is 0.7, knowing that other peers got more that 0.9.

Problem:

Target data is binary, and is not evenly distributed at all. Trying blindly after pre-processing from sklearn.linear_model import LogisticRegression and sklearn.svm scored using roc_auc_score: .7 and .75.

Back to basics, I run this

train['cible'].value_counts() / train['cible'].count()


and got

1    0.970791
0    0.029209
Name: cible, dtype: float64


Quite interesting I think, but how can I improve accuracy. Any hints ?

Note: I will edit and add False Positive Rate and True Positive Rate as I lost output, after scaling, missing data imputation and retraining the model which takes couple of hours.

From scikitlearn LogisticRegression docs:
So try to add class_weight='balanced'in your call to LogisticRegression()