gpt4 book ai didi

python - 如何保存 sklearn pipeline/feature-transformer

转载 作者:行者123 更新时间:2023-11-28 19:15:17 31 4
gpt4 key购买 nike

我有一个管道只包含一个特征联合,它具有三组不同的特征,包括 tfidf:

A_vec = AVectorizer()
B_vec = BVectorizer()
tfidf_vec = TfidfVectorizer(ngram_range=(1,2), analyzer='word', binary=False, stop_words=stopWords, min_df=0.01, use_idf=True)
all_features = FeatureUnion([('A_feature', A_vec), ('V_feature', B_vec), ('tfidf_feature', tfidf_vec)])
pipeline = Pipeline([('all_feature', all_features)])

我想为我的测试数据保存这个流水线特征转换器(我正在使用 LibSVM 进行分类),这是我尝试过的:

  • 我已经使用 joblib.dump 来保存这个管道,但是它生成了太多的 .npy 文件,所以我不得不停止写入过程。这是一个相当愚蠢的尝试!

  • 我已经保存了 tfidf_vec.vocabulary_,因此

    tfidf_vec2 = TfidfVectorizer(ngram_range=(1,3), analyzer='word', binary=False, stop_words=stopWords, min_df=0.01, use_idf=True,vocabulary=pickle.load(open("../vocab) .pkl", "rb"))

    …………

    feat_test = pipeline2.transform(X_test)

它说“NotFittedError:未安装 idf 向量”。然后我使用 fit_transform 而不是 transform 但它生成了一个包含不同值的特征向量(与正确的特征向量相比)。然后我关注了http://thiagomarzagao.com/2015/12/08/saving-TfidfVectorizer-without-pickles/并且仍在努力让它发挥作用。

有没有更简单的方法来实现这一点?谢谢!

最佳答案

不清楚您想实现什么以及面临什么问题。据我了解,您尝试过这个

I have used joblib.dump to save this pipeline but it generated toooo many .npy files so I had to stop the writing process. It was a rather stupid attempt!

由于这不能让您满意,您尝试了其他一些替代方案。好吧,如果你只想生成一个文件,你可以这样做:

joblib.dump(pipeline, 'filename.pkl', compress = 1)

此外,我强烈建议您下次插入一个最小可行示例!

关于python - 如何保存 sklearn pipeline/feature-transformer,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34376532/

31 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com