【发布时间】:2014-11-13 00:04:17
【问题描述】:
我买了一台新笔记本电脑并安装了最新版本的 NLTK 和 SciKit-Learn。我正在使用旧脚本进行情绪分析,该脚本加载了我今年早些时候创建的旧泡菜,我收到了以下错误。似乎来自 NLTK 的 SciKitClassifier 包装器现在具有属性 _vectorizer ,而它以前没有。
File "c:\users\yoprado\pycharmprojects\gnip_sentiment\gnip_sentiment\main.py", line 64, in mongoaddsentiment
MongoSentiment(mongo_server, mongo_port, dbname, colname, pickle_file)
File "c:\users\yoprado\pycharmprojects\gnip_sentiment\gnip_sentiment\MongoSentiment.py", line 61, in MongoSentiment
senti = classifier_eng.classify(get_features(cleanedBody.split()))
File "C:\Python27\lib\site-packages\nltk-3.0.0-py2.7-win32.egg\nltk\classify\api.py", line 54, in classify
return self.classify_many([featureset])[0]
File "C:\Python27\lib\site-packages\nltk-3.0.0-py2.7-win32.egg\nltk\classify\scikitlearn.py", line 84, in classify_many
X = self._vectorizer.transform(featuresets)
AttributeError: 'SklearnClassifier' object has no attribute '_vectorizer'
我使用了之前创建分类器 pickle 的相同脚本,新的 pickle 似乎工作得很好。代码中的某些内容似乎已通过最近的更新进行了修改。有什么办法可以将当前的pickle转换成新的格式?
谢谢
【问题讨论】:
标签: python scikit-learn nltk pickle