我使用 NLTK 和 svmlight python 库训练了一个 SVM 分类器,当我调用 pickle.dump(my_classifier, outfile, 1) 为了保存我的分类器,它抛出了这个错误:
File "/usr/lib/python2.7/pickle.py", line 313, in save
(t.__name__, obj))
pickle.PicklingError: Can't pickle 'PyCObject' object: <PyCObject object at 0xc1cbd50>
我读到我们不能 pickle CObject,但我没有找到保存我的工作的解决方案:/
我该如何继续?我使用 python 2.7.3
就其值(value)而言,对于了解 NLTK 的人来说,当我挑选其他分类器(如 MaxentClassifier 或 NaiveBayesClassifier 反对 SvmClassifier,我觉得跟svmlight库有关系,不过我是第一次用。
请您参考如下方法:
您可以使用 svmlight 库中的方法 write_model(model, filename) 来保存它。也许您可以教 pickle 将其用作 pickle 的自定义协议(protocol)。
