【发布时间】:2014-05-13 07:07:34
【问题描述】:
我正在尝试保存经过训练的 SGD 分类器。我正在使用 Divtvectorizer。但是在加载腌制分类器后,当我使用它进行预测时,我收到以下错误
AttributeError: 'DictVectorizer' object has no attribute 'vocabulary_'
如何解决这个问题,我们可以保存dictvectorizer的词汇吗?
谢谢
下面是代码:
vecto= DictVectorizer(sparse=False)
transformer=vecto
X_train=transformer.fit_transform(features(sents))
X_test=transformer.transform(features(test))
y_test=[-1,1]
clf=SGDClassifier(alpha=0.2,loss='hinge',n_jobs=5)
clf=clf.partial_fit(X_train[:2],labels[:2],classes=[-1,1])
clf.partial_fit(X_train[2:3],labels[2:3],classes=[-1,1])
print clf.predict(X_test)
print clf.score(X_test,y_test)
【问题讨论】:
-
我们可以看看代码吗?
vocabulary_属性是在训练期间设置的。你是在训练之前还是之后保存矢量化器? -
我们可以保存矢量化器吗?如果可以,您能解释一下如何吗??我正在腌制分类器。
-
分类器和生成分类器训练数据的矢量化器必须始终一起使用。你应该腌制两者。为了节省一些时间,您可以同时输入
Pipeline并腌制它。 -
问题是我正在使用 partial_fit 所以不能使用 Pipeline..我知道如何用数据腌制矢量化器来腌制分类器??
-
你能发布一些代码吗?
标签: python machine-learning nlp scikit-learn sentiment-analysis