У меня проблемы с использованием моей наивной модели Байеса.Я обучил и протестировал его, используя data_a, чтобы предсказать, является ли отзыв «положительным» или «отрицательным».Теперь я хочу использовать ту же модель, чтобы предсказать, является ли некоторый текст («data_b») «положительным» или «отрицательным».Я не хочу переучивать модель, используя данные из data_b.Возможно ли это?
# This is my function to train and test my model
from sklearn.model_selection import train_test_split
from sklearn.naive_bayes import MultinomialNB
from sklearn.metrics import accuracy_score
from sklearn.model_selection import cross_val_score
def train_and_test(data, target):
# Data
data_train, data_test, target_train, target_test = train_test_split(data, target, test_size=0.4, random_state=2)
# TRAIN & TEST MODEL
model = MultinomialNB()
model.fit(data_train, target_train)
predicted = model.predict(data_test)
comparison = df(data={'Predicted':predicted, 'Actual':target_test})
# ANALYSE RESULTS
acc = accuracy_score(target_test, predicted)
acc_percent = round((acc*100),2)
print('Using train test split, this model achieves an accuracy of: ', acc_percent, '%')
# apply 5-fold cross-validation, measuring accuracy each time
acc_scores = cross_val_score(model, data, target, cv=10, scoring="accuracy")
accuracy_10fold = round((sum(acc_scores)/10)*100,2)
print('Using 10 fold cross-validation, the model achieves a mean accuracy of: ', accuracy_10fold, '%')
return comparison
Я хотел бы изменить эту функцию на: def train_and_test (training_data, target_data, test_data, test_target):