我尝试在堆栈溢出时实现其他解决方案但没有成功。
在第一次运行中,我得到了我期待的结果,即各种正面和负面结果。在第二次运行中,无论它在什么地方阅读,我得到的都是积极的结果。
这是我的保存和加载功能的样子:
def save_classifier(self, classifier):
print 'Saving new classifier.'
try:
f = open(self.get_base_path_to_save_classifier(), 'wb')
pickle.dump(classifier, f)
f.close()
except IOError:
print 'Error'
return False
def load_classifier(self):
try:
f = open(self.get_base_path_to_save_classifier(), 'rb')
classifier = pickle.load(f)
f.close()
return classifier
except IOError:
print 'No classifier was found.'
return None
@staticmethod
def get_base_path_to_save_classifier():
return os.getcwd() + '/Twitter_Utils/data/classifier.pickle
我的主要人物:
def analyze_tweets(self):
naive_bayes_classifier = self.load_classifier()
if naive_bayes_classifier is None:
naive_bayes_classifier = self.create_training_set()
with open(os.getcwd() + '/Twitter_Utils/data/tweets/Hawks-vs-Warriors.txt') as f:
for line in f:
print naive_bayes_classifier.classify(self.extract_features(self.create_feature_vector(line)))