我对保存矢量化器以供以后在生产中使用有一个疑问:
a) 拟合(在这种情况下是词汇表和所有其他参数集)会改变其参数吗?
b) 拟合(通常)会改变矢量化器参数吗?
c) 何时保存 - 在安装之前或之后保存(取决于在安装过程中是否更改)是否重要?
vec = TfidfVectorizer(analyzer='word', ngram_range=(1, 2), lowercase=True, stop_words=StopWordsList, token_pattern=r'bw{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似乎是一样的。
您需要比较vocabulary_属性或get_feature_names(),而不是vec.get_params。从文档中,通过安装TfidfVectorizer,您可以更改其词汇表和idf_频率。这就是适合的全部意义。