我对保存矢量化器以供以后在生产中使用存在疑问:
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之前和之后它们是相同的。
答案 0 :(得分:0)
您需要比较vocabulary_ property或get_feature_names(),而不是vec.get_params。从documentation通过拟合TfidfVectorizer,您正在改变其词汇量和idf_频率。这是拟合的重点。