学习DEAP框架,找到如下资源:
1.github源码:https://github.com/deap/deap
2.deap文档:http://deap.gel.ulaval.ca/doc/dev/index.html
3.deap初学者中文介绍:https://segmentfault.com/a/1190000004368689
4.一篇介绍deap的文章:http://www.doc88.com/p-0468915579195.html

1.翻译第一个地址的内容

DEAP是一个新颖的进化计算框架,用于快速原型设计和测试。它旨在使算法清楚和数据结构透明。 它可以在并行机制之间完美协调,例如多处理和SCOOP(简单并发性面向对象程序设计)。
DEAP包括以下特征:
(1)在遗传算法中可以使用任何你能想到的表示,例如:列表List,数组Array,集合Set,字典Dictionary,树Tree,Numpy Array等等。
(2)基因编程使用前缀树:Loosely typed, Strongly typed(理解为稀疏类型和紧凑类型);自定义函数;
(3)进化策略(包括CMA-ES):Covariance Matrix Adaptation Evolutionary Strategies的缩写,中文名称是协方差矩阵自适应进化策略
(4)多目标优化:包括NSGA-II, SPEA2, MO-CMA-ES;
(5)多种群(多人口)共同进化;
(6)评估的并行化(和更多);
(7)名人堂,居住在人群中最好的人物;
(8)检查点定期拍摄系统的快照;
(9)基准模块包含最常用的测试功能;
(10)进化的家谱(与NetworkX兼容)
(11)其他算法的例子:PSO,差分演化,分布算法估计;

1.1下载

在Python社区接受PEP 438之后,我们已经将DEAP的源代码转移到了PyPI上。你可以在这个地址找到最近的发布内容:https://pypi.python.org/pypi/deap/.

1.2文档

查阅DEAP用户手册(http://deap.readthedocs.io/en/master/)找到相关文档。
为了获取提示文档,将目录更改为doc子文件夹并输入make html,文档将位于_build / html下。 您将需要Sphinx来构建文档。(这一部分内容需要下载这一页的源码,进行操作)

1.3 Notebooks(手册?)

还要检查我们的手册的例子。 使用IPython的手册功能,您可以单独导航和执行每个代码块,并告诉每一行都在做什么。或者,使用手册查看器链接在网页底部查看手册,或者下载手册,导航到您的下载目录并运行:

ipython notebook --pylab inline

1.4 安装

可以使用easy_install或者pip安装DEAP。其他的安装程序,如apt-get,yum等,通常安装的都是过时的版本。

pip install deap

最近的版本可以安装按照下面的命令:

pip install git+https://github.com/DEAP/deap@master

如果你希望可以编译源代码,可以先下载或者克隆源码,然后执行:

python setup.py install

1.5 编译状态

DEAP的构建(build)状态可以从这个地址获得: Travis-CI https://travis-ci.org/DEAP/deap

1.6 需要准备

DEAP最基本的特征是需要python2.6。为了能够连接工具箱和多线程模块,需要python2.7 支持pickle (等)部分功能。CMA-ES需要numpy,我们推荐matplotlib为了实现结果的可视化,因为这个模块可以兼容DEAP 的API。
自从DEAP 0.8 之后,开始兼容python 3。安装程序自从翻译源码到python 3。

1.7 示例

下面的代码可以快速学习使用DEAP的遗传算法实现Onemax问题优化。更多的实例在这里:http://deap.readthedocs.io/en/master/examples/index.html

import random
from deap import creator, base, tools, algorithmscreator.create("FitnessMax", base.Fitness, weights=(1.0,))
creator.create("Individual", list, fitness=creator.FitnessMax)toolbox = base.Toolbox()toolbox.register("attr_bool", random.randint, 0, 1)
toolbox.register("individual", tools.initRepeat, creator.Individual, toolbox.attr_bool, n=100)
toolbox.register("population", tools.initRepeat, list, toolbox.individual)def evalOneMax(individual):return sum(individual),toolbox.register("evaluate", evalOneMax)
toolbox.register("mate", tools.cxTwoPoint)
toolbox.register("mutate", tools.mutFlipBit, indpb=0.05)
toolbox.register("select", tools.selTournament, tournsize=3)population = toolbox.population(n=300)NGEN=40
for gen in range(NGEN):offspring = algorithms.varAnd(population, toolbox, cxpb=0.5, mutpb=0.1)fits = toolbox.map(toolbox.evaluate, offspring)for fit, ind in zip(fits, offspring):ind.fitness.values = fitpopulation = toolbox.select(offspring, k=len(population))
top10 = tools.selBest(population, k=10)

python 的 DEAP框架学习相关推荐

  1. selenium + python自动化测试unittest框架学习(二)

    1.unittest单元测试框架文件结构 unittest是python单元测试框架之一,unittest测试框架的主要文件结构: File >report >all_case.py &g ...

  2. selenium + python自动化测试unittest框架学习(一)selenium原理及应用

    unittest框架的学习得益于虫师的<selenium+python自动化实践>这一书,该书讲得很详细,大家可以去看下,我也只学到一点点用于工作中,闲暇时记录下自己所学才能更加印象深刻. ...

  3. python return用法_遗传算法(Python) #4 DEAP框架入门

    1. DEAP框架简介 DEAP(Distributed Evolutionary Algorithms in Python)是一个热门的Python进化算法框架,我们可以用这个框架在Python内实 ...

  4. selenium原理python_selenium + python自动化测试unittest框架学习(一)selenium原理及应用...

    unittest框架的学习得益于虫师的<selenium+python自动化实践>这一书,该书讲得很详细,大家可以去看下,我也只学到一点点用于工作中,闲暇时记录下自己所学才能更加印象深刻. ...

  5. 谈谈Python的Flask框架学习与福利分享

    在秋天中暑 熬过了炎炎夏日,却在这个初秋的日子中暑了.本来休息不好,今天又跑了一天,结果回来坐车吹空调冷热交替的崩溃了... 脑壳疼 回家就躺倒睡了一觉,感觉舒服点了,起床开电脑却又不知道学点什么,想 ...

  6. 【Python】flask框架学习 flask框架的基本使用

    flask框架是什么? Flask 是一个轻量级的 Web 框架,用于构建 Web 应用程序.它基于 Python 编程语言和 Werkzeug 工具包,提供了简单易用的 API,可以轻松地创建 RE ...

  7. selenium + python自动化测试unittest框架学习(五)webdriver的二次封装

    因为webdriver的api方法很长,再加上大多数的定位方式是以xpath方式定位,更加让代码看起来超级长,为了使整体的代码看起来整洁,对webdriver进行封装,学习资料来源于虫师的<se ...

  8. Python开发-flask框架学习

    最近闲来无事,帮别人一起看看python3与flask,据说他想搞个登录注册的小demo,然后就给看了下,顺便简单的跟他说明了下.本文只是记录我在给别人讲解怎么使用python3与flask还有mon ...

  9. python学习框架图-Python Scrapy爬虫框架学习

    Scrapy 是用Python实现一个为爬取网站数据.提取结构性数据而编写的应用框架. 一.Scrapy框架简介 Scrapy是一个为了爬取网站数据,提取结构性数据而编写的应用框架. 可以应用在包括数 ...

最新文章

  1. 把Doc文档转换成HTML等其它格式
  2. 手机芯片谁是AI之王?高通、联发科均超华为
  3. iframe的sandbox使用
  4. 第三十天-ssh key企业批量分发自动化管理案例
  5. react 判断地址是否有效_继续,react-redux原理解析
  6. 大数据WEB阶段Spring框架(二)简化配置的操作
  7. asp.net接受表单验证格式后再提交数据_看滴普科技大前端如何玩转el-form-renderer 表单渲染器1.14.0
  8. zabbix专题:第七章 添加图像Graphs,添加聚合图形Screens
  9. 帝国CMS7.2阿里大于云短信插件(UTF-8)
  10. 本周DOT将解锁302.47万枚,上周共质押919.9万枚
  11. (九)java多线程之CyclicBarrier
  12. php用putty安装吗,为什么通过Putty的SSH命令与PHP的phpseclib不同?
  13. 笔记本锁定计算机功能键,如何锁上笔记本键盘_怎样锁定笔记本键盘
  14. 绿联USB2.0 USB外接网卡驱动
  15. C# PPT/PDF文件转图片,图片转PPT
  16. Ubuntu系统接入移动硬盘后打不开问题
  17. 2019清华大学、中山大学、中传自主招生笔试面试真题
  18. 解决最近easyui官网不能访问问题
  19. Hive面试题(一)
  20. linux 创建一个数据库,Linux下手动创建一个数据库

热门文章

  1. vue3 点击按钮, 盒子向左移动
  2. Python 中的 requirements.txt 与 setup.py详解
  3. DIEN——biji
  4. 杂记:Word在试图打开文件时遇到错误/Word在.docx中发现无法读取的内容
  5. HTML常用标签-3
  6. Python爬虫:常用的user_agent请求头
  7. RabbitMQ——邮件服务,初学记录
  8. Java 调用Shell脚本
  9. mysql 二进制日志大小_mysql二进制日志相关参数
  10. action请求_可可Radio第2848期:高效“懒人”的习惯-使用邮件发送请求(2)_可可之声...