'Why Naive Bayes gives results and on training and test but gives error of negative values when applied with GridSerchCV?

I have studied some related questions regarding Naive Bayes, Here are the links. link1, link2,link3 I am using TF-IDF for feature selection and Naive Bayes for classification. After fitting the model it gave the prediction successfully. and here is the output

accuracy = train_model(model, xtrain, train_y, xtest)
print("NB, CharLevel Vectors: ", accuracy)

NB, accuracy: 0.5152523571824736

I don't understand the reason why Naive Bayes did not give any error in the training and testing process

from sklearn.preprocessing import PowerTransformer
params_NB = {'alpha':[1.0], 'class_prior':[None], 'fit_prior':[True]}

gs_NB = GridSearchCV(estimator=model, 
                 param_grid=params_NB, 
                 cv=cv_method,
                 verbose=1, 
                 scoring='accuracy')

Data_transformed = PowerTransformer().fit_transform(xtest.toarray())
gs_NB.fit(Data_transformed, test_y);

It gave this error

Negative values in data passed to MultinomialNB (input X)


Sources

This article follows the attribution requirements of Stack Overflow and is licensed under CC BY-SA 3.0.

Source: Stack Overflow

Solution Source