2

私はpickle次のように機械学習モデルを保存するために使用しています:

import pickle
with open('mymodel','wb') as f:
        pickle.dump(gbc,f)

さて、別のコンピューターでこのモデルをテストしたいと思いました。だから私は自分のモデルを復元し、次のようなデータを渡しています:

with open('mymodel', 'rb') as fin:
       clf = pickle.load(fin)

X_new_preds = clf.predict(dataset)

しかし、私はこのエラーが発生しています:

ValueError: Number of features of the model must match the input. Model 
n_features is 20 and input n_features is 19

上記から、トレーニング中に多くの前処理を行ったことがわかります。データのように、カテゴリ機能を持っていたので、多重共線列とすべてを削除しました。したがって、最終的DataFrameには20個の機能がありました(これは多くの前処理の後であることに注意してください)。

だから、私は知りたかったのですが、これらの情報をpickle. または、モデルを復元して新しいデータで使用するにはどうすればよいですか。

編集:

私もこれを試しました

#Using Joblib
from sklearn.externals import joblib
filename = 'finalized_model.sav'
joblib.dump(gbc, filename)
loaded_model = joblib.load(filename)
X_new_preds = clf.predict(dataset)

しかし、同じ値を取得するエラー。

4

1 に答える 1