I have input X, with 22 binary features and 70000 examples. The target y is one of 4 possible categories. They are unbalanced, with the most common having a bit more than 51% of the data. When I train a naive bayes classifier, it's cross validation accuracy is 47%. I initially thought it was overfitting, but the train score is also around 47%. What could be happening?
from sklearn import naive_bayes from sklearn.model_selection import cross_val_score #Naive Bayes for alpha in [0,1,2,4,8,16]: bnb = naive_bayes.BernoulliNB(alpha=alpha) print alpha, cross_val_score(bnb, X_dumb[:train_size,:], y_train, scoring='accuracy')