ここからコードを試してみました: Save Naive Bayes Trained Classifier in NLTK。ツイートをポジティブクラスとネガティブクラスに分類したい。これは私のコードです:
#learning.py
def main_learning():
.......
classifier = nltk.NaiveBayesClassifier.train(feature_set)
save_classifier(classifier)
classifier2 = load_classifier()
print classifier2.classify(get_features("My tweet is bad".split())
def save_classifier(classifier):
f = open('my_classifier.pickle', 'wb')
pickle.dump(classifier, f)
f.close()
def load_classifier():
f = with open('my_classifier.pickle')
classifier = pickle.load(f)
f.close
return classifier
次に、出力:negative
しかし、別の方法で and を試すとsave_classifier
、load_classifier
出力は常に正のクラスになります。
これはコードです:
#learning.py
def main_learning():
.......
classifier = nltk.NaiveBayesClassifier.train(feature_set)
save_classifier(classifier)
def test_classify():
classifier = load_classifier()
print classifier.classify(get_features("My tweet is bad".split())
the def save_classifier and load_classifier() are same with the first ones.
2 番目の出力は次のとおりpositive
です。それはまだnegative
クラスでなければなりません。
私のコードはどうなりますか?? ありがとう
編集:
@Cassio からの回答から、コードを編集します。
def save_classifier(classifier):
f = open('my_classifier.pickle', 'wb')
pickle.dump(classifier, f)
f.close()
def load_classifier():
f = with open('my_classifier.pickle', 'rb')
classifier = pickle.load(f)
f.close
return classifier
実際、それは機能します。