【问题标题】:Combining SVM Classifiers in MapReduce在 MapReduce 中组合 SVM 分类器
【发布时间】:2016-01-31 17:21:01
【问题描述】:

我的任务是使用 scikit-learn、python 和 mapreduce 解决情感分类问题。我需要使用 mapreduce 来并行化项目,从而创建多个 SVM 分类器。然后我应该将分类器“平均”在一起,但我不确定它是如何工作的,或者它是否可能。分类的结果应该是一个分类器,经过训练的平均分类器。

我已经使用 scikit-learn SVM 线性内核编写了代码,它可以工作,但现在我需要将它带入 map-reduce 并行化上下文中,我什至不知道如何开始。

有什么建议吗?

【问题讨论】:

  • 查看集成估计器,例如 bagging 和 boosting,它们允许您组合基本估计器。至少 bagging 可以很容易地分布在机器上。但我不知道分类器学习如何与 map-reduce 相关。也许你不明白你的任务对吗?或者您只需要在数据预处理阶段使用 Map-reduce?此外,如果您想以分布式方式训练一些算法 - 我建议您查看 Apache Spark 和 MLib,我包含一些现成的算法。

标签: python mapreduce scikit-learn svm


【解决方案1】:
  1. 确保在集群中的每个节点上都安装了所有必需的库(scikit-learn、NumPy、pandas)。

  2. 您的映射器将处理每一行输入,即您的训练行并发出一个键,该键基本上代表您将训练分类器的折叠。

  3. 您的 reducer 将收集每个折叠的行,然后在该折叠的所有行上运行 sklearn 分类器。

  4. 然后您可以平均每个折叠的结果。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2015-07-05
    • 1970-01-01
    • 1970-01-01
    • 2014-05-07
    • 2015-07-12
    • 2017-01-31
    • 1970-01-01
    • 2023-03-31
    相关资源
    最近更新 更多