1

nltk でトレーニングされた単純なベイズ分類器をピクルするのに問題があります。分類子を保存するために使用しているコードは次のとおりです。

pickledfile=open('my_classifier.pickle','wb')
pickle.dump(classifier,pickledfile)
pickledfile.close()

これはうまくいくようです。ただし、次のコードを使用してピクルファイルをロードしようとすると:

f1=open('my_classifier.pickle')
classifier=pickle.load(f1)
f1.close()

EOF エラーが発生します。私はこのコードをこの質問から直接取得しましたが、何らかの理由で機能しません: Save Naive Bayes Trained Classifier in NLTK . これで何が起こっているのか知っているかどうか教えてください。

4

1 に答える 1

2

コードをテストするための環境設定はありませんが、ピクルを保存/ロードする部分が正しくないと感じています。

NLTK ブックのStoring Taggersセクションを参照して、コードを次のように変更します。

def save_classifier(classifier):
   f = open('my_classifier.pickle', 'wb')
   pickle.dump(classifier, f, -1)
   f.close()

def load_classifier():
   f = open('my_classifier.pickle', 'rb')
   classifier = pickle.load(f)
   f.close()
   return classifier

それが役に立てば幸い。

https://stackoverflow.com/posts/17635668/から

于 2014-12-09T06:52:00.010 に答える