【发布时间】:2015-01-10 09:35:04
【问题描述】:
我正在尝试使用一组不同类别的关键字来训练朴素贝叶斯分类器。
它认为是功能的每个关键字。对于大约 12K 的功能,它运行良好。但是我添加了一个有 5 个缺少关键字的类别(由换行符分隔)然后它给出了这个错误:
File "term_classify.py", line 51, in <module>
classifier = obj.run_classifier(cltype)
File "/root/Desktop/karim/software/nlp/nltk/publish/lists/classifier_function.py", line 144, in run_classifier
classifier = NaiveBayesClassifier.train(train_set)
File "/usr/local/lib/python2.7/dist-packages/nltk/classify/naivebayes.py", line 210, in train
count = feature_freqdist[label, fname].N()
MemoryError
我检查了几个线程但没有帮助。有没有人遇到过类似的问题?
我是这样调用函数的:
if(cltype == 'nb'):
print 'classifier : ',cltype
classifier = NaiveBayesClassifier.train(train_set)
train_set 包含用于训练目的的关键字列表 (feature_value)
【问题讨论】:
-
尝试使用生成器仅在请求时生成项目。
-
@Alexander:感谢您的建议。假设 5 个缺少项目,分别通过;这会是可取的吗?
-
你找到解决方案了吗?
标签: python memory memory-management machine-learning nltk