【问题标题】:Append new values to .pkl model将新值附加到 .pkl 模型
【发布时间】:2020-06-30 18:25:06
【问题描述】:

我拟合了我的机器学习模型,然后用 pickle 将其保存在 .pkl 文件中。现在我需要再次拟合我的模型,所以我需要将新值附加到我的 .pkl 文件中。这是我试过的代码:

pickle.dump(model, open('sentiment_datasets/es.pkl', 'a+'))

但我收到以下错误:

write() argument must be string, not bytes

我该如何解决?我再说一遍,我不需要覆盖我的文件而是附加新值

【问题讨论】:

    标签: file machine-learning pickle


    【解决方案1】:

    方法pickle.dump表示将对象转换为可以存储的字节流。如果你用一些新数据训练模型,python 对象就会改变(在线性模型的情况下,特征的权重会更新)。所以你有不同的python对象,需要序列化和存储。

    你不能追加新的值,你需要保存更新的模型。

    【讨论】:

    • 如何保存更新的模型而不删除已经完成的进度?
    • 您应该将其保存在单独的文件中。为了能够跟踪模型的进度,您可以在文件名中添加特定的后缀。一个流行的后缀是“日期指示器”。比如model_05_2020.pickle、model_06_2020.pickle等
    • 因此无法一次拟合模型并将其存储在文件中。然后打开模型并再次拟合,然后将其保存在同一文件中,而不会丢失第一个进度....?
    • 是的,您不能在不丢失之前状态的情况下将模型保存在同一个文件中。但如果您将更新的模型保存在新文件中,则可以加载以前的模型。
    猜你喜欢
    • 1970-01-01
    • 2011-12-04
    • 1970-01-01
    • 2020-12-16
    • 1970-01-01
    • 1970-01-01
    • 2012-04-11
    • 2021-10-08
    • 2017-11-02
    相关资源
    最近更新 更多