0

我正在使用 pickle 保存具有贝叶斯定理的分类模型,我在分类后保存了一个 2.1 GB 的文件,其中包含 5600 条记录。但是当我加载该文件时,它需要将近 2 分钟,但对一些文本进行分类需要 5.5 分钟。我正在使用以下代码来加载它并进行分类。

classifierPickle = pickle.load(open( "classifier.pickle", "rb" ) )
   classifierPickle.classify("want to go some beatifull work place"))

第一行用于加载 pickle 对象,第二行用于对文本进行分类,结果是它是哪个主题(类别)。我正在使用以下代码来保存模型。

file = open('C:/burberry_model/classifier.pickle','wb')
pickle.dump(object,file,-1)

我在 textblob 中使用的所有东西。环境是 Windows,28GB RAM,四核 CPU。如果有人能解决这个问题,那将非常有帮助。

4

1 回答 1

0

由于 textblob 是在 NLTK 之上构建的,因此它是一个纯 Python 实现,大大降低了它的速度。其次,由于您的 Pickle 文件为 2.1GB,这使其扩展得更多并直接保存在 RAM 上,从而增加了更多时间。

此外,由于您使用的是 Windows,因此 Python 速度相对较慢。如果速度是您主要关心的问题,那么使用 textblob/NLTK 中的特征选择器和向量构造函数并使用具有 C-Bindings 的 scikit-learn NB 分类器会很有用,所以我猜它会明显更快。

于 2016-11-30T00:14:05.737 回答