【发布时间】:2014-03-10 03:18:15
【问题描述】:
自定义矢量化器后,我无法对其进行酸洗。
from sklearn.feature_extraction.text import TfidfVectorizer
import pickle
tfidf_vectorizer = TfidfVectorizer(analyzer=str.split)
pickle.dump(tfidf_vectorizer, open('test.pkl', "wb"))
这会导致 “TypeError:无法腌制 method_descriptor 对象”
但是,如果我不自定义分析器,它会正常工作。关于如何解决这个问题的任何想法?如果我要更广泛地使用它,我需要保留矢量化器。
顺便说一句,我发现对分析器使用简单的字符串拆分并预处理语料库以删除非词汇和停用词对于获得良好的运行速度至关重要。否则,大部分矢量化程序运行时间都花在“text.py:114(_word_ngrams)”中。 HashingVectorizer 也是如此
这与Persisting data in sklearn 和http://scikit-learn.org/0.10/tutorial.html#model-persistence 有关 (顺便说一句,sklearn.externals.joblib.dump 也无济于事)
谢谢!
【问题讨论】:
标签: python scikit-learn pickle