Class asks me to give self for Naive Bayes Model python
b = BernoulliNB() 
b.fit(b, X_train,y_train)


This doesn't work because you're calling the fit method of the BernoulliNB class object you instantiated with BernoulliNB(). This argument says you have an extra parameter because it only accepts X, y.

It's hard to diagnose your second issue without seeing your data. But your y_train is probably formatted incorrectly.