【问题标题】:sklearn feature_extraction fit parallelizationsklearn 特征提取拟合并行化
【发布时间】: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


    【解决方案1】:

    您可以使用mllib,apache-spark 中包含的机器学习库将处理跨节点的分布。

    这是一个关于如何使用它进行特征提取的教程。

    您还可以查看 如何优化速度 here 上的 sklearn 文档以获取一些灵感。

    【讨论】:

      猜你喜欢
      • 2018-06-08
      • 2018-12-25
      • 2016-10-11
      • 2017-12-16
      • 2016-06-07
      • 2015-08-15
      • 2020-11-12
      • 2017-12-23
      • 2017-12-29
      相关资源
      最近更新 更多