【问题标题】:how to run evolutionary algorithms using pyspark如何使用 pyspark 运行进化算法
【发布时间】:2017-09-14 16:02:09
【问题描述】:

我想在 spark 上使用 pyspark 运行 GA、PSO 等进化算法。如何使用 MLLib 和 Deap python 库来执行此操作。是否有任何其他库可用于执行相同的任务。

【问题讨论】:

标签: pyspark apache-spark-mllib evolutionary-algorithm deap


【解决方案1】:

查看my answer,了解如何将 DEAP 与 Spark 结合使用,看看它是否适合您。

这是一个示例,说明如何使用 Spark 通过自定义配置 DEAP toolboxreplace the map function

from pyspark import SparkContext

sc = SparkContext(appName="DEAP")

def sparkMap(algorithm, population):
    return sc.parallelize(population).map(algorithm)

toolbox.register("map", sparkMap)

【讨论】:

  • 什么是toolbox?请不要重复答案。提供一个好的,然后通过 cmets 链接到它
  • 它是 DEAP 提供的一个实用程序类,可以在不影响算法其余部分的情况下轻松更改运算符(文档here。在我的示例中,它替换了 map 函数(用于映射对所有个人的适应度函数)由使用 Spark 并行化函数的自定义函数。您可以在 docs 中找到另一个示例。
【解决方案2】:

https://github.com/DEAP/deap/issues/268 中,他们展示了如何在 DEAP 包中执行此操作。然而,这是一个问题。但他们提到有一个拉取请求 (https://github.com/DEAP/deap/pull/76),而且似乎固定代码/分支来自一个分叉的 repo。
听起来如果您使用该代码重新构建包,它应该可以解决问题。

我发现的另一个资源是https://apacheignite.readme.io/docs/genetic-algorithms,但没有尝试过。 也遇到了这个https://github.com/paduraru2009/genetic-algorithm-with-Spark-for-test-generation

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2022-11-04
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多