python 的 DEAP框架学习
学习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框架学习相关推荐
- selenium + python自动化测试unittest框架学习(二)
1.unittest单元测试框架文件结构 unittest是python单元测试框架之一,unittest测试框架的主要文件结构: File >report >all_case.py &g ...
- selenium + python自动化测试unittest框架学习(一)selenium原理及应用
unittest框架的学习得益于虫师的<selenium+python自动化实践>这一书,该书讲得很详细,大家可以去看下,我也只学到一点点用于工作中,闲暇时记录下自己所学才能更加印象深刻. ...
- python return用法_遗传算法(Python) #4 DEAP框架入门
1. DEAP框架简介 DEAP(Distributed Evolutionary Algorithms in Python)是一个热门的Python进化算法框架,我们可以用这个框架在Python内实 ...
- selenium原理python_selenium + python自动化测试unittest框架学习(一)selenium原理及应用...
unittest框架的学习得益于虫师的<selenium+python自动化实践>这一书,该书讲得很详细,大家可以去看下,我也只学到一点点用于工作中,闲暇时记录下自己所学才能更加印象深刻. ...
- 谈谈Python的Flask框架学习与福利分享
在秋天中暑 熬过了炎炎夏日,却在这个初秋的日子中暑了.本来休息不好,今天又跑了一天,结果回来坐车吹空调冷热交替的崩溃了... 脑壳疼 回家就躺倒睡了一觉,感觉舒服点了,起床开电脑却又不知道学点什么,想 ...
- 【Python】flask框架学习 flask框架的基本使用
flask框架是什么? Flask 是一个轻量级的 Web 框架,用于构建 Web 应用程序.它基于 Python 编程语言和 Werkzeug 工具包,提供了简单易用的 API,可以轻松地创建 RE ...
- selenium + python自动化测试unittest框架学习(五)webdriver的二次封装
因为webdriver的api方法很长,再加上大多数的定位方式是以xpath方式定位,更加让代码看起来超级长,为了使整体的代码看起来整洁,对webdriver进行封装,学习资料来源于虫师的<se ...
- Python开发-flask框架学习
最近闲来无事,帮别人一起看看python3与flask,据说他想搞个登录注册的小demo,然后就给看了下,顺便简单的跟他说明了下.本文只是记录我在给别人讲解怎么使用python3与flask还有mon ...
- python学习框架图-Python Scrapy爬虫框架学习
Scrapy 是用Python实现一个为爬取网站数据.提取结构性数据而编写的应用框架. 一.Scrapy框架简介 Scrapy是一个为了爬取网站数据,提取结构性数据而编写的应用框架. 可以应用在包括数 ...
最新文章
- 把Doc文档转换成HTML等其它格式
- 手机芯片谁是AI之王?高通、联发科均超华为
- iframe的sandbox使用
- 第三十天-ssh key企业批量分发自动化管理案例
- react 判断地址是否有效_继续,react-redux原理解析
- 大数据WEB阶段Spring框架(二)简化配置的操作
- asp.net接受表单验证格式后再提交数据_看滴普科技大前端如何玩转el-form-renderer 表单渲染器1.14.0
- zabbix专题:第七章 添加图像Graphs,添加聚合图形Screens
- 帝国CMS7.2阿里大于云短信插件(UTF-8)
- 本周DOT将解锁302.47万枚,上周共质押919.9万枚
- (九)java多线程之CyclicBarrier
- php用putty安装吗,为什么通过Putty的SSH命令与PHP的phpseclib不同?
- 笔记本锁定计算机功能键,如何锁上笔记本键盘_怎样锁定笔记本键盘
- 绿联USB2.0 USB外接网卡驱动
- C# PPT/PDF文件转图片,图片转PPT
- Ubuntu系统接入移动硬盘后打不开问题
- 2019清华大学、中山大学、中传自主招生笔试面试真题
- 解决最近easyui官网不能访问问题
- Hive面试题(一)
- linux 创建一个数据库,Linux下手动创建一个数据库
热门文章
- vue3 点击按钮, 盒子向左移动
- Python 中的 requirements.txt 与 setup.py详解
- DIEN——biji
- 杂记:Word在试图打开文件时遇到错误/Word在.docx中发现无法读取的内容
- HTML常用标签-3
- Python爬虫:常用的user_agent请求头
- RabbitMQ——邮件服务,初学记录
- Java 调用Shell脚本
- mysql 二进制日志大小_mysql二进制日志相关参数
- action请求_可可Radio第2848期:高效“懒人”的习惯-使用邮件发送请求(2)_可可之声...