Cer*_*rin 6 python machine-learning pickle scikit-learn
什么是序列化scikit-learn分类器的最有效方法?
我目前正在使用Python的标准Pickle模块来序列化文本分类器,但这会导致一个巨大的泡菜.序列化对象可能是100MB或更多,这似乎过多,需要一段时间来生成和存储.我已经完成了与Weka类似的工作,等效的序列化分类器通常只有几MB.
scikit-learn可能会在pickle中缓存训练数据或其他无关信息吗?如果是这样,我怎样才能加快并减少序列化scikit-learn分类器的大小?
classifier = Pipeline([
('vectorizer', CountVectorizer(ngram_range=(1,4))),
('tfidf', TfidfTransformer()),
('clf', OneVsRestClassifier(LinearSVC())),
])
Run Code Online (Sandbox Code Playgroud)
对于大型文本数据集,请使用哈希技巧:将TfidfVectorizera 替换为HashingVectorizer(可能TfidfTransformer在管道中以a堆叠):腌制的速度会更快,因为您不必再存储词汇字典了(如本问题所述) :
| 归档时间: |
|
| 查看次数: |
2463 次 |
| 最近记录: |