python - 如何更新使用 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 但模型不是。它给出的标签矩阵与重新拟合之前给出的标签矩阵相同。难道我已经用不同的标签多次用相似的数据训练了我的初始模型,而它无法从更少的数据中学习?
解决方案
推荐阅读
- apache-spark - AWS Glue 可以爬取 Delta Lake 表数据吗?
- python - 通过在索引标签上相乘来广播 Dataframe 上的标量
- .net - 选择 .net 4 时,FB Feedshare 无法与 Unity 2018.4 一起使用
- php - 如何在没有浏览器登录密码表单的情况下使用 ntlm?
- python - 停止 pandas to_excel() 在字符串上添加撇号
- dart - Dart 的 NetworkInterface 类不提供任何麝香长度信息。如何获取信息?
- java - 如何使用xml在spring security中禁用注销确认?
- sql - 如何使用 distinct 或 group max sql 进行分组
- c# - 小数点后保留一位,不四舍五入
- postgresql - Postgres解释计划对于具有不同参数的相同查询是不同的