将NaiveBayes分类器保存到磁盘

时间:2016-03-02 21:12:19

标签: python nltk pickle

我尝试在堆栈溢出时实现其他解决方案但没有成功。

在第一次运行中,我得到了我期待的结果,即各种正面和负面结果。在第二次运行中,无论它在什么地方阅读,我得到的都是积极的结果。

这是我的保存和加载功能的样子:

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)))

0 个答案:

没有答案