我在使用我的朴素贝叶斯模型时遇到了问题。我已经使用“数据”对其进行了培训和测试,以预测评论是“积极”还是“消极”。现在,我想使用相同的模型来预测某些文本(“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训练和测试(训练数据、目标数据、测试数据、测试目标):
目前没有回答
相关问题 更多 >
编程相关推荐