相关疑难解决方法(0)

Scikit-Learn 中的模型持久性?

我正在尝试保存和加载 scikit-learn 模型,但当保存和加载发生在不同的 python 版本上时遇到问题。这是我尝试过的:

  1. 使用pickle在python3中保存模型并在python2中反序列化。这适用于某些模型,如LR、SVM,但不适用于KNN。

    >>> pickle.load(open("inPy3.pkl", 'rb')) #KNN model
    ValueError: non-string names in Numpy dtype unpickling
    
    Run Code Online (Sandbox Code Playgroud)
  2. 另外,我尝试使用 jsonpickle 在 json 中序列化和反序列化,但出现以下错误。

    data = jsonpickle.encode(lr) #lr = logisticRegression Model
    jsonpickle.decode(data)
    AttributeError: 'dict' object has no attribute '__name__'
    
    Run Code Online (Sandbox Code Playgroud)

另外,我想知道是否有一些实用程序可以用来将 scikit-learn 模型对象序列化和反序列化为人类可读的格式(json、xml、protobuf 等)。

python serialization pickle jsonpickle scikit-learn

6
推荐指数
1
解决办法
1239
查看次数

标签 统计

jsonpickle ×1

pickle ×1

python ×1

scikit-learn ×1

serialization ×1