【发布时间】:2014-11-05 10:39:38
【问题描述】:
我已经使用 joblib 保存了我的分类器管道:
vec = TfidfVectorizer(sublinear_tf=True, max_df=0.5, ngram_range=(1, 3))
pac_clf = PassiveAggressiveClassifier(C=1)
vec_clf = Pipeline([('vectorizer', vec), ('pac', pac_clf)])
vec_clf.fit(X_train,y_train)
joblib.dump(vec_clf, 'class.pkl', compress=9)
现在我正在尝试在生产环境中使用它:
def classify(title):
#load classifier and predict
classifier = joblib.load('class.pkl')
#vectorize/transform the new title then predict
vectorizer = TfidfVectorizer(sublinear_tf=True, max_df=0.5, ngram_range=(1, 3))
X_test = vectorizer.transform(title)
predict = classifier.predict(X_test)
return predict
我得到的错误是:ValueError: Vocabulary was not compatible or is empty! 我想我应该从 te joblid 加载词汇,但我无法让它工作
【问题讨论】:
-
在存储/加载矢量化器时遇到什么错误?
-
我在加载时没有收到错误,现在问题已解决。谢谢你的帮助
标签: python scikit-learn joblib