【发布时间】:2013-07-09 04:16:39
【问题描述】:
序列化 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())),
])
【问题讨论】:
-
你在cPickle中使用了协议-1吗?这通常会产生不可思议的影响。
标签: python machine-learning pickle scikit-learn