Python和C++骨髓细胞进化解析数学模型

🎯要点

🎯 数学模型邻接矩阵及其相关的转移概率 | 🎯蒙特卡罗模拟进化动力学 | 🎯细胞进化交叉图族概率 | 🎯进化图模型及其数学因子 | 🎯混合图模式对进化概率的影响 | 🎯造血干细胞群体的空间图结构

📜网络结构模型用例

📜Python社群纽带关系谱和图神经

📜Python元胞自动机沙堆糖景堵塞模型图学习

📜Python竞技比赛流体动力学艺术品和药物质量图学习
在这里插入图片描述
在这里插入图片描述

🍇Python图数据

我们经常使用表格来概括地表示信息。但图形使用专门的数据结构:节点代表一个元素,而不是表行。边连接两个节点以指示它们的关系。这种图数据结构使我们能够从独特的角度观察数据,这就是为什么图数据科学被应用于从分子生物学到社会科学的各个领域。

创建一个图很简单:

import networkx as nx
G = nx.Graph()

但 G 还不是一个图,它没有节点和边。

我们可以通过将 Graph() 的返回值与 .add_node() 链接在一起(或对于列表中的多个节点,使用 .add_nodes_from())来将节点添加到网络。我们还可以通过传递字典作为参数来向节点添加任意特征或属性,如节点 4 和节点 5 所示:

G.add_node("node 1")
G.add_nodes_from(["node 2", "node 3"])
G.add_nodes_from([("node 4", {"abc": 123}), ("node 5", {"abc": 0})])
print(G.nodes)
print(G.nodes["node 4"]["abc"]) # accessed like a dictionary

输出:

['node 1', 'node 2', 'node 3', 'node 4', 'node 5']
123

与节点技术类似,我们可以使用 .add_edge() 并将两个节点的名称作为参数(或 .add_edges_from() 用于列表中的多个边),并且可以选择包含属性字典:

G.add_edge("node 1", "node 2")
G.add_edge("node 1", "node 6")
G.add_edges_from([("node 1", "node 3"), 
                  ("node 3", "node 4")])
G.add_edges_from([("node 1", "node 5", {"weight" : 3}), 
                  ("node 2", "node 4", {"weight" : 5})])

NetworkX 库支持此类图,其中每条边可以具有权重。例如,在社交网络图中,节点是用户,边是交互,权重可以表示给定一对用户之间发生了多少次交互 - 这是一个高度相关的指标。

NetworkX 使用 G.edges 时会列出所有边,但不包括它们的属性。如果我们想要边属性,我们可以使用 G[node_name] 获取连接到节点的所有内容,或使用G[node_name][connected_node_name]获取特定边的属性:

print(G.nodes)
print(G.edges)
print(G["node 1"])
print(G["node 1"]["node 5"])

输出:

['node 1', 'node 2', 'node 3', 'node 4', 'node 5', 'node 6']
[('node 1', 'node 2'), ('node 1', 'node 6'), ('node 1', 'node 3'), ('node 1', 'node 5'), ('node 2', 'node 4'), ('node 3', 'node 4')]
{'node 2': {}, 'node 6': {}, 'node 3': {}, 'node 5': {'weight': 3}}
{'weight': 3}

星球大战角色图:

首先,我们将使用 nx.draw(G_starWars, with_labels = True) 可视化数据,通常一起出现的角色,如 R2-D2 和 C-3PO,看起来联系紧密。相比之下,我们可以看到达斯·维德并没有与欧文分享场景。

NetworkX 还有其他布局,使用不同的标准来定位节点,例如circular_layout

pos = nx.circular_layout(G_starWars)
nx.draw(G_starWars, pos=pos, with_labels = True)

这种布局是中性的,因为节点的位置不取决于其重要性 - 所有节点都平等表示。(圆形布局还可以帮助可视化单独的连通分量 - 子图在任意两个节点之间都有路径 - 但在这里,整个图是一个大的连通分量。)

我们看到的两种布局都有一定程度的视觉混乱,因为边缘可以自由地交叉其他边缘。但Kamada-Kawai,另一种力导向算法,如 spring_layout,它定位节点以最小化系统能量。这减少了边缘交叉,但代价是:它比其他布局慢,因此不强烈推荐用于具有许多节点的图形。

这个有一个专门的绘图函数:

nx.draw_kamada_kawai(G_starWars, with_labels = True)

在没有任何特殊干预的情况下,算法将主要角色(如卢克、莱娅和 C-3PO)放在中心,而不太突出的角色(如卡米和多多娜将军)放在边界。

使用特定布局可视化图表可以给我们一些有趣的定性结果。尽管如此,定量结果仍然是任何数据科学分析的重要组成部分,因此我们需要定义一些指标。

现在我们可以清楚地可视化我们的网络,我们可能会对表征节点感兴趣。有多种度量来描述节点的特征,在我们的示例中,描述角色的特征。节点的一个基本指标是它的度:它有多少条边。星球大战角色的节点度衡量了他们与多少个其他角色共享一个场景。

Degree() 函数可以计算一个字符或整个网络的度数:

print(G_starWars.degree["LUKE"])
print(G_starWars.degree)

输出:

15
[('R2-D2', 9), ('CHEWBACCA', 6), ('C-3PO', 10), ('LUKE', 15), ('DARTH VADER', 4), ('CAMIE', 2), ('BIGGS', 8), ('LEIA', 12), ('BERU', 5), ('OWEN', 4), ('OBI-WAN', 7), ('MOTTI', 3), ('TARKIN', 3), ('HAN', 6), ('DODONNA', 3), ('GOLD LEADER', 5), ('WEDGE', 5), ('RED LEADER', 7), ('RED TEN', 2)]

根据度数从最高到最低对节点进行排序可以用一行代码完成:

print(sorted(G_starWars.degree, key=lambda x: x[1], reverse=True))

输出:

[('LUKE', 15), ('LEIA', 12), ('C-3PO', 10), ('R2-D2', 9), ('BIGGS', 8), ('OBI-WAN', 7), ('RED LEADER', 7), ('CHEWBACCA', 6), ('HAN', 6), ('BERU', 5), ('GOLD LEADER', 5), ('WEDGE', 5), ('DARTH VADER', 4), ('OWEN', 4), ('MOTTI', 3), ('TARKIN', 3), ('DODONNA', 3), ('CAMIE', 2), ('RED TEN', 2)]

👉参阅、更新:计算思维 | 亚图跨际

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:/a/802080.html

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

redis删除策略和淘汰策略

1、redis的删除策略 Redis 是一种内存级数据库,数据都存在内存中,但是针对于已经过期的数据,reids 不 会立刻删除只是会存储在 expires 中,当执行删除策略的时候,才会从 expires 中寻找对应的数据存储的地址&#xff…

《昇思25天学习打卡营第22天|基于MindNLP+MusicGen生成自己的个性化音乐》

学习内容:基于MindSpore的GPT2文本摘要 1.模型简介 MusicGen是来自Meta AI的Jade Copet等人提出的基于单个语言模型(LM)的音乐生成模型,能够根据文本描述或音频提示生成高质量的音乐样本,相关研究成果参考论文《Simp…

【区块链 + 智慧政务】澳门:智慧城市建设之证书电子化项目 | FISCO BCOS应用案例

2019 年 2 月 27 日,澳门政府设立的澳门科学技术发展基金与微众银行达成合作,通过区块链、人工智能、大数据、 云计算等创新技术,共同推进澳门特区的智慧城市建设与未来型城市发展,提升粤港澳大湾区的科创能力。在澳 门智慧城市建…

股票涨停后还能交易吗?

股票涨停后还能交易吗? 在股票市场中,涨停板是一个常见的现象,它代表着某只股票在一天内的涨幅已经达到了交易所规定的上限。对于许多投资者来说,涨停板既带来了喜悦,也带来了疑惑:股票涨停后,…

Template execution failed: ReferenceError: name is not defined

问题 我们使用了html-webpack-plugin(webpack)进行编译html,导致的错误。 排查结果 连接地址 html-webpack-plugin版本低(2.30.1),html模板里面不能有符号,注释都不行 // var reg new RegExp((^|&)${name}([^&…

深度解析:disableHostCheck: true引发的安全迷局与解决之道

在Web开发的浩瀚星空中,开发者们时常会遇到各种配置与调优的挑战,其中disableHostCheck: true这一选项,在提升开发效率的同时,也悄然埋下了安全隐患的伏笔。本文将深入探讨这一配置背后的原理、为何会引发报错,以及如何…

MySQL 一行记录是怎么存储的

文章目录 1. 文件存放目录 && 组织2. 表空间文件的结构3. InnoDB 行格式4. Compact 行格式记录的额外信息1. 变长字段长度列表2. NULL 值列表3. 记录头信息 记录的真实数据1. 定义的表字段2. 三个隐藏字段 5. varchar(n) 中 n 最大取值为多少?6. 行溢出后&a…

Jdk8 Idea Maven Received fatal alert: protocol_version

问题描述 使用idea开发工具,maven加载项目依赖时,出现错误: Could not transfer artfact xxxxxxx from/to maven-dep-repos https://XXXXXXX: Received fatal alert: protocol_version初步思路 用关键字protocol_version 去检索&#xff0…

Nuxt.js头部魔法:轻松自定义页面元信息,提升用户体验

title: Nuxt.js头部魔法:轻松自定义页面元信息,提升用户体验 date: 2024/7/16 updated: 2024/7/16 author: cmdragon excerpt: 摘要:“Nuxt.js头部魔法:轻松自定义页面元信息,提升用户体验”介绍如何使用useHead函数…

多元统计分析概述

目录 1. 多元回归分析 2. 主成分分析(PCA) 3. 因子分析 4. 判别分析 5. 聚类分析 6. 多维尺度分析(MDS) 结论 多元统计分析是一组用于分析多个变量之间关系的统计方法。它广泛应用于各个领域,如市场研究、生物医…

clion中建立c文件工程,读取或创建sqlite3数据库文件

1.首先前往SQLite官网下载sqlite3所需文件 SQLite Download Page 2.解压文件,将其中的sqlite3.c和sqlite3.h拷贝到你对应的文件工程中 3.修改CMakeLists.txt文件,添加编译选项及连接文件 4.运行代码及查询数据库文件

【数据结构】树和二叉树及堆的深入理解

【数据结构】树和二叉树及堆的深入理解 🔥个人主页:大白的编程日记 🔥专栏:数据结构 文章目录 【数据结构】树和二叉树及堆的深入理解前言一.树1.1 树的概念1.2 树的相关概念1.3 树的表示1.4 树的应用 二.二叉树2.1 二叉树概念及…

el-table和 el-image图片预览使用插槽后层叠样式错乱问题

问题: 解决办法:在el-image组件中添加preview-teleported 属性 最终效果

二百四十四、Hive——Hive中解析复杂JSON,既有对象还有数组,而且数组中包含数组

一、目的 由于协议修改,修改后的原始数据JSON更加复杂,导致Hive中解析的难度更大,搞了一天,还好同事发了篇知乎文章,终于得以解决,天哪,太不容易了 二、数据协议案例 { "deviceNo&qu…

elasticsearch-keystore工具介绍

1、参数设置查询 命令格式: bin/elasticsearch-keystore list 2、密码密码查询 命令格式: bin/elasticsearch-keystore show 参数 例:bin/elasticsearch-keystore show xpack.security.http.ssl.keystore.secure_password

linux系统 mysql-8.0.32安装

1、下载安装文件 此处我选择的是 Archives 8.0.32版本 2、上传文件到linux服务器 此处省略 3、卸载旧版本mysql // 查看现有mysql: rpm -qa|grep -i mysql// 查看mysql状态 systemctl status mysqld.service// 若为启用状态,则停止 systemctl stop…

html5——CSS列表样式属性

list-style-type list-style-image list-style-position list-style eg: li { list-style:none; }【去除前面的黑点】

对象存储解决方案:高性能分布式对象存储系统MinIO

文章目录 引言I 自动化数据管理界面1.1 图形用户界面:GUI1.2 命令行界面:MinIO CLI1.3 应用程序编程接口:MinIO APIII 部署集成2.1 静态端口分配2.2 将NGINX用作反向代理,配置负载。III 基础概念3.1 为什么是对象存储?3.2 MinIO支持哪些系统拓扑结构?3.3 时间同步3.4 存储…

分布式 I/O 系统 BL200 Modbus TCP 耦合器

BL200 耦合器是一个数据采集和控制系统,基于强大的 32 位微处理器设计,采用 Linux 操作系统,支持 Modbus 协议,可以快速接入现场 PLC、SCADA 以及 ERP 系统, 内置逻辑控制、边缘计算应用,适用于 IIoT 和工业…

CyberVadis认证是什么

CyberVadis认证是一项全球性的、权威的、基于云的网络安全性评估和认证项目。它是由Altimeter公司开发的,专门针对云计算服务提供商、数据中心、软件即服务(SaaS)供应商、安全咨询服务公司和内部IT部门而设计的。 CyberVadis认证旨在评估和验证组织在网络安全方面的…