【问题标题】:Saving vectorizer in scikit-learn在 scikit-learn 中保存矢量化器
【发布时间】:2015-03-02 21:31:57
【问题描述】:

我对保存矢量化器以供以后在生产中使用有一个疑问:

a) 拟合(在本例中是词汇和所有其他参数集)是否会改变其参数?

b) 拟合(通常)会改变矢量化参数吗?

c) 什么时候保存有关系吗 - 在拟合之前或之后保存(这取决于在拟合期间是否更改)?

vec = TfidfVectorizer(analyzer='word', ngram_range=(1, 2), lowercase=True, stop_words=StopWordsList, token_pattern=r'\b\w{3,}\b', norm='l1', sublinear_tf=True, max_df=0.99, min_df=0.01,  max_features=10000, vocabulary=FreqDict1000)


VectFName = PathName + 'VECTORIZER/' + SysName + 'vec.pkl'
joblib.dump(vec, VectFName)

我对比了之前和之后的vec.get_params,好像是一样的。

【问题讨论】:

    标签: scikit-learn tokenize


    【解决方案1】:

    您需要比较词汇表属性或 get_feature_names(),而不是 vec.get_params。从documentation 通过拟合 TfidfVectorizer 您正在更改其词汇表和 idf_ 频率。这是拟合的全部要点。

    【讨论】:

      猜你喜欢
      • 2019-06-09
      • 1970-01-01
      • 2015-03-23
      • 2017-02-24
      • 1970-01-01
      • 1970-01-01
      • 2017-12-25
      • 2013-02-21
      • 2016-01-27
      相关资源
      最近更新 更多