python deap_在Python中用DEAP绘制多目标pareto边界
按照这个link(不是我自己的)中的方法来计算帕累托点,你可以这样做:def simple_cull(inputPoints, dominates):
paretoPoints = set()
candidateRowNr = 0
dominatedPoints = set()
while True:
candidateRow = inputPoints[candidateRowNr]
inputPoints.remove(candidateRow)
rowNr = 0
nonDominated = True
while len(inputPoints) != 0 and rowNr < len(inputPoints):
row = inputPoints[rowNr]
if dominates(candidateRow, row):
# If it is worse on all features remove the row from the array
inputPoints.remove(row)
dominatedPoints.add(tuple(row))
elif dominates(row, candidateRow):
nonDominated = False
dominatedPoints.add(tuple(candidateRow))
rowNr += 1
else:
rowNr += 1
if nonDominated:
# add the non-dominated point to the Pareto frontier
paretoPoints.add(tuple(candidateRow))
if len(inputPoints) == 0:
break
return paretoPoints, dominatedPoints
def dominates(row, candidateRow):
return sum([row[x] >= candidateRow[x] for x in range(len(row))]) == len(row)
import random
inputPoints = [[random.randint(70,100) for i in range(3)] for j in range(500)]
paretoPoints, dominatedPoints = simple_cull(inputPoints, dominates)
import matplotlib.pyplot as plt
from mpl_toolkits.mplot3d import Axes3D
fig = plt.figure()
ax = fig.add_subplot(111, projection='3d')
dp = np.array(list(dominatedPoints))
pp = np.array(list(paretoPoints))
print(pp.shape,dp.shape)
ax.scatter(dp[:,0],dp[:,1],dp[:,2])
ax.scatter(pp[:,0],pp[:,1],pp[:,2],color='red')
import matplotlib.tri as mtri
triang = mtri.Triangulation(pp[:,0],pp[:,1])
ax.plot_trisurf(triang,pp[:,2],color='red')
plt.show()
,您将注意到最后一部分正在对Pareto点应用三角剖分并将其打印为三角形曲面。结果如下(其中红色形状为帕累托前沿):
编辑:另外,您可能想看看this(尽管它似乎是针对2D空间的)。在
python deap_在Python中用DEAP绘制多目标pareto边界相关推荐
- 使用Python,OpenCV进行涂鸦(绘制文字、线、圆、矩形、椭圆、多边形轮廓、多边形填充、箭头~)
使用Python,OpenCV进行涂鸦(绘制文字.线.圆.矩形.椭圆.多边形轮廓.多边形填充.箭头) 1. 效果图 2. 原理 2.1 绘制线:cv2.line(canvas, (300, 0), ( ...
- 用python绘制柱状图标题-Python数据可视化:5种绘制柱状图表的方法(附源码)...
本文的文字及图片来源于网络,仅供学习.交流使用,不具有任何商业用途,版权归原作者所有,如有问题请及时联系我们以作处理 以下文章来源于数据Magic,作者我不是小样 前言 python里面有很多优秀的可 ...
- python绘制饼图-Python使用Plotly绘图工具,绘制饼图
今天我们来学习一下如何使用Python的Plotly绘图工具,绘制饼图 使用Plotly绘制饼图的方法,我们需要使用graph_objs中的Pie函数 函数中最常用的两个属性values,用于赋值给需 ...
- python画直方图代码-Python使用Plotly绘图工具,绘制直方图
今天我们再来讲解一下Python使用Plotly绘图工具如何绘制直方图 使用plotly绘制直方图需要用到graph_objs包中的Histogram函数 我们将数据赋值给函数中的x变量,x = da ...
- Python之pyecharts:利用pyecharts绘制2020年11月16日微博话题热度排行榜实时变化
Python之pyecharts:利用pyecharts绘制2020年11月16日微博话题热度排行榜实时变化 目录 利用pyecharts绘制2020年11月16日微博话题热度排行榜实时变化 Bar( ...
- Python之pyecharts:利用pyecharts绘制地图十多个地区流动轨迹动态图
Python之pyecharts:利用pyecharts绘制地图十多个地区流动轨迹动态图 目录 利用pyecharts绘制地图十多个地区流动轨迹动态图 Geo(GeoChartBase)函数 相关文章 ...
- Python:利用python编程实现三维图像绘制展示(六面体旋转、三维球柱状体、下雪场景等)
Python:利用python编程实现三维图像绘制展示(六面体旋转.三维球柱状体.下雪场景等) 目录 利用python编程实现三维图像绘制展示(六面体旋转.三维球柱状体.下雪场景等) 1.实现六面体旋 ...
- Python:利用python语言绘制多个子图经典案例、代码实现之详细攻略
Python:利用python语言绘制多个子图经典案例.代码实现之详细攻略 目录 利用python语言绘制多个子图代码实现.经典案例 1.绘制多个子图框架 多个子图绘制的经典案例 1.绘制多个直方图 ...
- Py之Matplotlib:python包之Matplotlib库图表绘制经验总结(中英文字体修改、横坐标文字进行横/纵向显示、控制坐标轴范围等)之详细攻略
Py之Matplotlib:python包之Matplotlib库图表绘制经验总结(中英文字体修改.横坐标文字进行横/纵向显示.控制坐标轴范围等)之详细攻略 目录 1.Matplotlib库图表绘制包 ...
- Py之matplotlib:python包之matplotlib库图表绘制包的简介、安装、使用方法(matplotlib颜色大全)详细攻略
Py之matplotlib:python包之matplotlib库图表绘制包的简介.安装.使用方法(matplotlib颜色大全)详细攻略 目录 matplotlib简介 matplotlib安装 m ...
最新文章
- python 的回调函数
- python中读取文件内容-Python读取文件内容与存储
- vue中v-for的使用
- Teams与OneDrive for Business和SharePoint的关系
- 调查HashDoS问题
- [转]Angular2 Material2 封装组件 —— confirmDialog确定框
- 201521123087 蒋勃超 软工作业
- Eclipse调试时出现source not found的问题
- 三菱plc pwm指令_2020福建三菱PLCFX3GA60MT回收回收厂家回收气动元件回收
- 河南高二计算机会考excel,(完整版)高中信息技术学业水平考试Word、Excel操作题考点总结...
- vue项目目录详细解读
- HDU 2566 统计硬币 【模拟】
- 用python动态时钟代码_python实现简易动态时钟
- Sparse Transformers
- Marvolo Gaunt's Ring 【CodeForces 855B】
- 2022年最新吉林道路运输安全员模拟真题题库及答案
- python dataframe打乱行
- python中国大学慕课平台_中国大学MOOC(慕课)_Python程序设计_题库及答案
- Vue2.0快速入门
- 人物照片墙html 模板,用PS制作散落照片墙效果的人物照片
热门文章
- 基于android的家庭财务通 .apk,毕业设计(论文)-基于Android的家庭财务管家的设计与实现.doc...
- k3note Android8,价格只差100 乐檬K3 Note对比红米Note
- 性能优化-测试If-Else和if哪个性能更好
- webservice规范及webservice框架
- 软件推荐:Picasa
- 远比系统看图更好的图片浏览器Honeyview,Picasa
- 服务器开启sxe进不了系统,sXe 服务端安装教程
- Exchange2010 server的部署及配置(一)
- win95软盘版安装方法
- 基于html5的网上订餐系统,基于WEB的网上订餐系统-任务书.doc