【发布时间】:2018-02-12 20:11:57
【问题描述】:
我正在尝试为文本挖掘问题构建矢量化器。使用的词汇应该从给定的文件中拟合。但是,将构建字典 vocabulary_ 的文件数量相对较大(例如 10^5)。有没有一种简单的方法来并行化它?
更新:我发现,有一种“手动”方式......不幸的是,它仅适用于min_df=1让我举例说明我的工作对于两个核心:
将您的输入分成两块。训练矢量化器(比如 vec1 和 vec2),每个都在一个核心和一块数据上(我使用了multiprocessing.Pool)。那么,
# Use sets to dedupe token
vocab = set(vec1.vocabulary_) | set(vec2.vocabulary_)
# Create final vectorizer with given vocabulary
final_vec = CountVectorizer(vocabulary=vocab)
# Create the dictionary final_vec.vocabulary_
final_vec._validate_vocabulary()
会做的。
【问题讨论】:
标签: python python-3.x scikit-learn