【发布时间】:2016-04-08 08:01:13
【问题描述】:
我正在使用 SciKit Learn 对大型数据集(+- 34.000 个文件)执行一些分析。现在我想知道。 HashingVectorizer 旨在降低内存使用率。是否可以先将一堆文件转换为 HashingVectorizer 对象(使用 pickle.dump),然后将所有这些文件一起加载并将它们转换为 TfIdf 功能?这些特征可以从 HashingVectorizer 中计算出来,因为计数被存储并且可以推断出文档的数量。我现在有以下内容:
for text in texts:
vectorizer = HashingVectorizer(norm=None, non_negative=True)
features = vectorizer.fit_transform([text])
with open(path, 'wb') as handle:
pickle.dump(features, handle)
然后,加载文件很简单:
data = []
for path in paths:
with open(path, 'rb') as handle:
data.append(pickle.load(handle))
tfidf = TfidfVectorizer()
tfidf.fit_transform(data)
但是,魔法并没有发生。我怎样才能让魔法发生?
【问题讨论】:
标签: python python-3.x scipy scikit-learn tf-idf