不能在Python中腌制朴素贝叶斯分类器?

时间:2014-10-25 08:37:46

标签: python text nltk pickle text-classification

我想在python中保存训练有素的Naive Bayes分类器。我跟着以前的类似问题无济于事。我对Python很陌生并且不太了解什么是错的,我根据NLTK书创建并训练了我的分类器。如何保存此模型以便以后使用?

这是我一直困扰的错误:

picklingError: Can't pickle <class 'generator'>: attribute lookup generator on builtin failed

目前我有:

classifier = nltk.NaiveBayesClassifier.train(train_set)
saveClassifier(classifier)

def saveClassifier(classifier):
        with open('cp_model.pkl', 'w') as f:
            dump(classifier, f)

任何帮助都会受到赞赏,我一直试图解决这个问题几个小时。

感谢。

1 个答案:

答案 0 :(得分:0)

EDITED: 我对此进行了一些实验,并得出结论,当您在有效数据集上使用最新稳定版本的nltk时,您的代码可以正常工作。 所以我建议你更新/重新安装你的库或检查你的数据集是否有效。 有效数据集必须是元组(featureset,label)的列表。