我正在尝试保存和加载 scikit-learn 模型,但是当保存和加载发生在不同的 python 版本上时会遇到问题。这是我尝试过的:
使用pickle在python3中保存模型并在python2中反序列化。这适用于LR,SVM等一些模型,但不适用于KNN。
>>> pickle.load(open("inPy3.pkl", 'rb')) #KNN model ValueError: non-string names in Numpy dtype unpickling
另外,我尝试使用 jsonpickle 在 json 中序列化和反序列化,但出现以下错误。
data = jsonpickle.encode(lr) #lr = logisticRegression Model jsonpickle.decode(data) AttributeError: 'dict' object has no attribute '__name__'
另外,我想知道是否有一些实用程序可用于将 scikit-learn 模型对象序列化和反序列化为人类可读格式(json、xml、protobuf 等)。