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 など) にシリアル化および逆シリアル化するために使用できるユーティリティがあるかどうかも知りたいです。