将分类器投入生产

鲁本

我已经使用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:词汇不适合或为空!我想我应该从Joblid加载词汇,但是我无法使它正常工作

奥格里塞尔

只需替换:

  #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

通过:

  # load the saved pipeline that includes both the vectorizer
  # and the classifier and predict
  classifier = joblib.load('class.pkl')
  predict = classifier.predict(X_test)
  return predict

class.pkl包括完整的管道,因此无需创建新的矢量化器实例。如错误消息所述,您需要重用最初训练的矢量化程序,因为从令牌(字符串ngram)到列索引的特征映射保存在矢量化程序本身中。此映射称为“词汇表”。

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章

使用Webpack将React应用投入生产

闪亮的应用程序投入生产

哪个是ChronicleMap的可投入生产的版本?

Spring Boot 启动器依赖项是否可以投入生产?

投入生产-无法将安全性解析为一种类型

我应该将 Flutter Web 用于不应在夏季之前投入生产的网站项目吗?

React&Rails-Bootstrap样式已经投入生产

有些资产没有投入生产

如何确保admob准备好投入生产?

JRuby准备好投入生产了吗?

Kubernetes投入生产。工作吊舱有问题

Hyperledger Composer-准备投入生产了吗?

我使用react.js投入生产时出错

您如何将有角度的项目投入生产?

Immutable.js v4.0.0-rc.12 准备好投入生产了吗?

在uglify / webpack投入生产后,每个类的Class.name始终为“ e”

以编程方式确定是否在发布框架中投入生产

是否可以在已经批准并投入生产的订阅中添加免费试用期(iTunes Connect)?

如何将在Hyperledger Composer上开发的应用程序投入生产?

Asp.net核心和Angular投入生产:不提供Spa服务

在投入生产之前,从持续集成管道中删除特定功能

Google Play:由于“草稿已投入生产”而无法发布到生产中,该怎么办?

Maven或常春藤?使用已投入生产的系统哪个更好?还有其他区别吗?

APNS-将App停止生产并投入开发

将分类转移到生产环境

无法将生产服务器设置为生产

将工厂投入服务失败

将Spring MessageSource投入服务

分类器是如何分类的?