问题标签 [deap]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
python - 遗传算法Deap保存变异数据?
我在 Python 上使用了 deap 库来处理遗传算法。例如:我有个人[0,1,1,1,1,0],我有3种突变方法,例如mutation1,mutation2,mutation3。使用deap库,我进行如下突变:
for mutate in [mutate1, mutate2, mutate3]:
mutate(individual)
每种变异方法后如何保存人口数据?此外,我正在尝试使用deap.logbook
它,但它不起作用。有人对此有什么建议吗?
python - python - 使用 DEAP 进行多变量多目标优化
我正在尝试优化模拟软件的两个输出(我使用随机森林来训练模型以快速预测输出)。有七个输入变量,三个是连续的,其余的是离散的。我已经使用 DEAP 包进行多目标优化,但只有一个变量或一组相关变量(类似于背包)。提到的七个变量是:
除了ft
,对于所有连续变量,可以定义几个离散数。
我的问题是如何为这些输入创建不同的个体来定义人口?
python - Python DEAP - 自定义适应度函数
我的问题是关于在我的遗传编程实现中在 DEAP/Python 中实现自定义适应度函数的可能性。
在搜索和阅读 DEAP 官方文档后,我没有找到任何关于它的信息,所以,如果你们中的任何一个可以帮助我,我将不胜感激。
谢谢。
python - DEAP 框架 - mutGaussian 使用每个基因统计
我有一个具有以下基因的人:
然后我应用以下高斯突变:
产生新基因:
我对这个突变的问题是,这个人的高斯统计数据似乎是使用所有基因而不是每个基因来确定的......虽然大多数基因的 +/- 2 突变很好,但开始的值300
应该变化更剧烈。
我很奇怪,文档中没有考虑到这种需求。
是否没有使用每个基因统计数据来突变个体的内置机制?
我假设使用其所有基因为种群中的每个个体形成分布。我想要的是使用种群中的所有个体为每个基因形成分布。
python - 如何将最大(或最小)适应度停止条件添加到多处理深度 Python 遗传算法
这个问题是对这个关于python deap遗传算法库的问题的后续回答: How to add exclude mechanism in Pythongenetic algorithm based on DEAP
使用来自 deap github 的参考代码: https ://github.com/DEAP/deap/blob/master/examples/ga/onemax.py
第 112 行
while max(fits) < 100 and g < 1000: #from onemax.py
在deap github示例'onemax_mp.py'上: https ://github.com/DEAP/deap/blob/master/examples/ga/onemax_mp.py
如何添加类似于max(fits) < 100
onemax_mp.py 中的最大(或最小)条件?
如果我确实添加了这个条件,这个条件是否适用于整个多进程进程池中的每个进程?如果一个进程满足结束条件,其他进程是否停止?
现在看来我只能控制代数:
https://github.com/DEAP/deap/blob/master/examples/ga/onemax_mp.py
第 40 行
algorithms.eaSimple(pop, toolbox, cxpb=0.5, mutpb=0.2, ngen=40, stats=stats, halloffame=hof) #ngen=40 means calculate 40 generations
我是stackoverflow的新手,如果我需要编辑这个问题以适应论坛规则,请告诉我
python - DEAP框架中Dict类型的个体
有没有办法让个人dict
在 GA 运营商(交叉,变异,选择和评估)中工作?
我使用 cxOnePoint 进行交叉,但出现TypeErro: Unhashable type: 'slice'
. 然后,我尝试使用cxOrdered
,但根本没有运气。我遇到key error
了这种情况。
python - 如何强类型零参数原语
我正在尝试使用 DEAP 在 Python 中编写一个遗传程序,并有几个零参数函数作为终端。我希望能够使用例如 if_then_else 原语来组合它们,但这个原语一直试图调用我的其他 int 类型终端。我想强输入 pset 以避免这种情况,但 DEAP 不允许我在添加强类型基元时使用 None 类型参数,我该怎么办?
这是定义我到目前为止的 pset 的代码
evolutionary-algorithm - DEAP - 通过工具箱操作失去的健身价值
我一直致力于通过最大化道路的特定属性来生成道路。我将 DEAP 框架用于进化部分。我的道路表示为字典。我遇到了一个问题,而我正在交配两条道路。deap-tutorial 指出,在工具箱操作中更改了参数:“交叉运算符的一般规则是它们只与个体交配,这意味着如果原始个体有,则必须在与个体交配之前制作独立副本要保留或是对其他个人的引用。因此,当我尝试复制并粘贴教程中的解决方案并结合我的交叉操作时,我最终得到了一个列表元素,该元素没有 Fitness.value,或者工具箱操作根本不会改变道路。
交叉操作现在只加载一个保存的字典,因为问题在于工具箱没有将其视为个体:
这是循环,它应该加载个体并将它们配对:
正如我上面提到的,这样,孩子们不会以任何方式被操纵,当我尝试这样的事情时:
然后我会得到错误:'list' object has no attribute 'fitness'
感谢您抽出宝贵时间。
python - 努力从 python3 中的论文中用 DEAP 实现差分进化算法
我正在尝试实现差分进化算法来求解 PV 模型的参数。我认为我编写的代码是正确的,但我似乎得到了奇怪的答案。随着算法的每次运行,我都会得到新的参数,这些参数变化很大。此外,我似乎也无法使用 sympy 求解方程,因为我认为指数会产生巨大的值,从而导致溢出。使用 sympy 求解得到以下错误代码:“Python int too large to convert to C ssize_t”
我希望每次运行算法时都会收到一些相似的参数,所以我假设我在某个地方犯了一个错误,我真的找不到它,因此我需要一些帮助,因为我仍然掌握了 python 和进化论算法。
这是纸。
它们在第 3 页提供了每个步骤的说明,并在第 5 页显示了伪代码。
任何和所有的帮助都将不胜感激,因为我不确定出了什么问题,也不知道有人可以提供帮助。预先感谢您的任何帮助!