1. ホーム
  2. パイソン

[解決済み】scikit-learnで分類器をディスクに保存する。

2022-04-05 02:26:20

質問

トレーニングしたものを保存するにはどうすればよいですか ナイーブベイズ分類器 まで ディスク を使用し、それを 占う データ?

scikit-learnのサイトにある以下のサンプルプログラムを持っています。

from sklearn import datasets
iris = datasets.load_iris()
from sklearn.naive_bayes import GaussianNB
gnb = GaussianNB()
y_pred = gnb.fit(iris.data, iris.target).predict(iris.data)
print "Number of mislabeled points : %d" % (iris.target != y_pred).sum()

解決するには?

分類子は単なるオブジェクトであり、他のものと同じように漬けたり捨てたりすることができます。例の続きです。

import cPickle
# save the classifier
with open('my_dumped_classifier.pkl', 'wb') as fid:
    cPickle.dump(gnb, fid)    

# load it again
with open('my_dumped_classifier.pkl', 'rb') as fid:
    gnb_loaded = cPickle.load(fid)

編集:もしあなたが sklearnパイプライン でシリアライズできないカスタムトランスフォーマーを持っている場合、そのトランスフォーマーはpickleでシリアライズできません。 ジョブライブ を使用すると、Neuraxle の カスタムMLパイプラインの保存 は、独自のカスタムの ステップセーバー をステップごとに設定します。セーバーが定義されている場合は保存時に各ステップで呼び出され、そうでない場合はセーバーのないステップのデフォルトとしてjoblibが使用されます。