当前位置: 首页 > news >正文

网页美工是什么优化网站内容的方法

网页美工是什么,优化网站内容的方法,wordpress安装文件是哪个,房子简装修效果图片目录 一、SIR模型介绍 二、Python实现SIR模型 1.制作自己的数据集的两种方法#xff08;csv格式#xff09; #xff08;1#xff09;excel转为csv格式 #xff08;2#xff09;通过python对csv格式文件进行内容修改 2.导入数据集 #xff08;1#xff09;具体代码如下… 目录 一、SIR模型介绍 二、Python实现SIR模型 1.制作自己的数据集的两种方法csv格式 1excel转为csv格式 2通过python对csv格式文件进行内容修改 2.导入数据集 1具体代码如下所示 2点数据集与连边数据集展示 3变量格式展示  3.制定初始网络  1具体代码如下 2重要变量内容格式展示如下  4. 定义网络节点状态更新规则 1具体更新思想 2代码呈现如下 5.模拟执行过程并展示结果图 2结果图展示部分代码 3部分变量内容展示 4结果图展示  三通过python制作散点图 1.代码部分  2.散点图呈现 一、SIR模型介绍 经典SIR模型是一种传染病模型此模型能够简单地展现出一种传染病从出现到扩散再到最后逐渐被消灭的过程。该模型假设总节点数保持不变且每个个体存在于三种可能的人群状态之中分别为S代表易感人群I代表感染人群R代表恢复人群假定恢复人群不会再次被感染。 三类人群状态之间的转换规则如图1所示 SIR模型中除了上述三种人群状态外还设定了两个常值分别为感染概率a和恢复概率b。每个时间单位每个状态为易感人群S的节点若和系统网络中的感染人群I中的节点存在连接则有a的概率受到感染人群I影响被感染转换状态成为感染人群I中的节点。而感染人群I中的节点在每个单位时间下则有b的概率转换自身状态成为恢复人群R中的节点。 S(t)I(t)R(t)分别代表了当前时间点下易感人群S总人数感染人群I总人数及恢复人群R总人数。通过不同人群的占比我们可以得到当前时刻感染状态的人群所占总人群的比例从而了解当前传染病的蔓延程度如何。 二、Python实现SIR模型 1.制作自己的数据集的两种方法csv格式 1excel转为csv格式 将所需数据按列输入excel中 输入完毕后另存为csv格式进行保存格式选择如下 保存完后的csv格式文件在程序中内容如下所示 2通过python对csv格式文件进行内容修改 具体内容代码参考下方博客即可写的很详细 通过python编写csv格式文件的四种类型 2.导入数据集 1具体代码如下所示 import pandas import csv import randomnode_df pandas.read_csv(E:/data/节点.csv) all_nodes_list node_df.values.tolist() #获取文件中所有节点edge [] #获取所有边 with open(E:/data/边.csv,r,encodingutf-8-sig) as f: data f.readlines() for line in data: line list(line.replace(\r,).replace(\n,).replace(\t,).split(,))# 去除“”和换行符将data列表中的元素转换为列表single_edge tuple([line[0],line[1]])edge.append(single_edge) 为了更加直观理解每个变量内容针对如下点与边的csv文件内容展示部分变量 2点数据集与连边数据集展示 3变量格式展示 node_dfall_nodes_listdata格式如下 line每一轮从列表data中获取一个元素以第一轮为例刚获取时格式如下 通过执行 line list(line.replace(\r,).replace(\n,).replace(\t,).split(,)) 将其中的逗号与换行符去除并转换为列表此时格式如下 通过执行 single_edge tuple([line[0],line[1]]) 提取line列表中的元素并以元组形式储存于single_edge 中此时格式如下 每个轮次将得到的single_edge内容存储于edge中最终当所有轮次执行完后edge内容如下 3.制定初始网络 1具体代码如下 参数初始化设置 days 50 # 设置模拟的天数 alpha 0.2 # 感染率 beta 0.10 # 恢复率# 设置不同人群的显示颜色易感者为橘色感染者为红色恢复者为绿色 color_dict {S: orange, I: red, R: green} 节点状态初始化设置 import networkx as nx ba nx.Graph() # 引入一个类 ba.add_edges_from(edge) # 将上一步的edge导入这个类中 for node in ba.nodes(): # 将每个人的初始状态设为“S”ba.nodes[node][state] S # 随机选取一个节点为初始感染者此处设定为老张 ba.nodes[老张][state] I 2重要变量内容格式展示如下 仅使用了ba类中的 adj 与 nodes部分每个人的adj中存储了与其有连接的人即邻居nodes中存储了每个人当前状态。 特别注意类中数据类型为dict字典的数据部分设定完成后无法更改。 4. 定义网络节点状态更新规则 1具体更新思想 先考虑单个节点的更新 我们使用一个简单的函数来实现一个节点的状态的更新。 首先如果一个节点是恢复者那么下一步还是恢复者其节点状态保持不变。 如果一个节点是感染者那么其恢复的概率是 β。用程序实现的方法为先均匀生成一个0到1的随机数 p如果 p β则节点恢复否则节点依然处于感染状态。 如一个节点是易感者先要去其邻居节点中看看一共有多少个邻居是感染者有 k 个邻居是感染者那么当前节点被感染的概率是 1 - (1 - α)k。我们生成一个0到1的随机数 p如果 p 1 - (1 - α)k则节点被感染否则不被感染。 2代码呈现如下 对单个节点更新部分的代码 import random# 根据 SIR 模型更新单一节点的状态 def updateNodeState(G,node, alpha, beta):if G.nodes[node][state] I: #感染者p random.random() # 生成一个0到1的随机数if p beta: # gamma的概率恢复G.nodes[node][state] R #将节点状态设置成“R”elif G.nodes[node][state] S: #易感者p random.random() # 生成一个0到1的随机数k 0 # 计算邻居中的感染者数量for neibor in G.adj[node]: # 查看所有邻居状态遍历邻居用 G.adj[node]if G.nodes[neibor][state] I: #如果这个邻居是感染者则k加1k k 1if p 1 - (1 - alpha)**k: # 易感者被感染G.nodes[node][state] I 通过遍历循环实现对所有节点的状态更新 def updateNetworkState(G, alpha, beta): # 需要对应的ba感染率恢复率for node in G: #遍历图中节点每一个节点状态进行更新updateNodeState(G,node, alpha, beta) # 需要对应的ba当前节点感染率恢复率 在每个时间单位下当遍历更新完所有人当前状态后用函数countSIR对3类人群的数量进行统计。 # 计算三类人群的数量 def countSIR(G):S 0;I 0for node in G:if G.nodes[node][state] S:S S 1elif G.nodes[node][state] I:I I 1return S,I, len(G.nodes) - S - I 5.模拟执行过程并展示结果图 1执行部分代码展示 在图中开始SIR模型的模拟设置模拟天数开始执行模拟过程 import time SIR_list [] for t in range(0,days):updateNetworkState(ba,alpha,beta) #对网络状态进行模拟更新SIR_list.append(list(countSIR(ba))) #计算更新后三种节点的数量 2结果图展示部分代码 模型结果可视化 # 模拟天数为days更新节点状态 import matplotlib.pyplot as pltdf pandas.DataFrame(SIR_list,columns[S,I,R]) df.plot(figsize(9,6),color[color_dict.get(x) for x in df.columns]) plt.show() 3部分变量内容展示 将每一天的3类人群数量转换为一个列表将每一天的列表放入SIR_list 中最终 SIR_list 内容如下所示 通过执行df pandas.DataFrame(SIR_list,columns[S,I,R])df内容如下所示 通过执行df.plot(figsize(9,6),color[color_dict.get(x) for x in df.columns]) 将3类人群曲线得到不同颜色。 4结果图展示 三通过python制作散点图 在上述用python实现SIR模型的基础上增添了散点图的呈现方式更好地呈现了个体与个体之间的联系。 1.代码部分 psnx.spring_layout(ba) #针对上述SIR模型中的ba类布置框架 nx.draw(ba,ps,with_labelsFalse,node_size30) # with_labels指是否给每个点设定标签由于数据集中个体为人的名字中文无法直接作为标签故而设定为不需要 plt.show() 2.散点图呈现
http://www.hkea.cn/news/14338675/

相关文章:

  • 织梦网站0day漏洞国外最大的设计网站有哪些方面
  • 海洋网站建设公司合肥网站制作公司排名
  • 平谷网站建设静态网站模板下载
  • 减肥网站开发目的防城港做网站
  • 推广网站的方法有搜索引擎营销、邮件营销天津网站优化多少钱
  • 公司做网站要企业认证企业形象vi设计包括哪些
  • 合肥市建设工程造价信息网站软装素材网站有哪些
  • 大连网站建设要多少钱南县网站建设推荐
  • 苏州建设网站专业优酷土豆网站建设
  • 视频网站如何优化手工活300元一天
  • 正规网站制作公司是哪家wordpress用户认证插件
  • 公司微网站怎么建设做网站推广利润
  • 成都中小企业网站建设哪家公司好图片 wordpress
  • 短视频推广策划方案模板备案查询seo查询
  • 郑州企业网站制作怎么做可以做笔试面试题的网站
  • 用dw制作购物网站首页qian p.wordpress
  • 思政网站建设管理自查报告西安企业名录大全
  • php做网站子页模板人力资源公司名字大全
  • 景区网站建设材料nginx wordpress动静分离
  • 浙江网站建设哪家好曲靖网站建设电话
  • 做ppt做好的网站wordpress 当前文章id
  • 做英语趣味教具的网站私人申请建设网站多少钱
  • 现在什么网站比较火做推广银川市网页设计培训
  • 微信人生里面微网站怎么做gta5此网站正在建设
  • wordpress+怎么改密码seo诊断报告示例
  • 加强网站建设的建议网络营销的特点与方法有哪些
  • 网站优化试卷wordpress 作者墙
  • 天津旅游网站建设网站建设时间规划
  • 苏州 网站设计 知名怎么给我 的网站做关键词
  • 北京做网站制作的公司哪家好深圳有多少家设计公司