gpt4 book ai didi

python - 如何有效地序列化 scikit-learn 分类器

转载 作者:太空狗 更新时间:2023-10-29 22:22:53 24 4
gpt4 key购买 nike

序列化 scikit-learn 分类器的最有效方法是什么?

我目前正在使用 Python 的标准 Pickle 模块来序列化 text classifier ,但这会导致 pickle 大得惊人。序列化的对象可以是100MB甚至更大,这看起来太大了并且需要一段时间来生成和存储。我用 Weka 做过类似的工作,等效的序列化分类器通常只有几 MB。

scikit-learn 是否可能在 pickle 中缓存训练数据或其他无关信息?如果是这样,我怎样才能加快和减少序列化 scikit-learn 分类器的大小?

classifier = Pipeline([
('vectorizer', CountVectorizer(ngram_range=(1,4))),
('tfidf', TfidfTransformer()),
('clf', OneVsRestClassifier(LinearSVC())),
])

最佳答案

对于大型文本数据集,使用散列技巧:将 TfidfVectorizer 替换为 HashingVectorizer(可能在管道中与 TfidfTransformer 堆叠) : pickle 会快得多,因为您不必再​​像最近在这个问题中讨论的那样存储词汇字典:

How can i reduce memory usage of Scikit-Learn Vectorizers?

关于python - 如何有效地序列化 scikit-learn 分类器,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17584116/

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