首页 > 解决方案 > 如何更新使用 joblib 保存的经过训练的朴素贝叶斯模型

问题描述

我正在尝试更新我已经训练过的模型,以便它可以纠正它所犯的错误。为此,我正在部分拟合新数据,它使用新的正确标签给出了不正确的标签

我已经将我的贝叶斯模型保存在这样的文件中:

model1 = MultinomialNB()                    #NaiveBayes model
model1.partial_fit(features_matrix, label_matrix, [0,1,2])
filename = 'trained_NBmodel.pkl'              #saving the trained model
joblib.dump(model1, filename)

然后像这样加载另一个文件:

loaded_model = joblib.load('trained_NBmodel.pkl')
loaded_model.partial_fit(new_features_matrix, new_label_matrix)
filename = 'trained_NBmodel.pkl'              #saving the trained model
joblib.dump(loaded_model, filename)

现在它应该使用更新的模型,如果给定 new_features_matrix 进行预测,它应该以高精度预测 new_label_matrix 但模型不是。它给出的标签矩阵与重新拟合之前给出的标签矩阵相同。难道我已经用不同的标签多次用相似的数据训练了我的初始模型,而它无法从更少的数据中学习?

标签: pythonmachine-learningtext-classificationnaivebayes

解决方案


推荐阅读