Python和R及Julia妊娠相关疾病生物剖析算法
🎯要点
- 算法使用了矢量投影、现代优化线性代数、空间分区技术和大数据编程
- 利用相应向量空间中标量积和欧几里得距离的紧密关系来计算
- 使用妊娠相关疾病(先兆子痫)、健康妊娠和癌症测试算法模型
- 使用相关性投影利用相关性和欧几里得距离之间的关系
🍪语言内容分比


🍇Python线性组合可视化
考虑 R 2 R ^2 R2 中的两个向量 u u u 和 v v v,它们彼此独立,即不指向相同或相反的方向。因此, R 2 R ^2 R2 中的任何向量都可以用 u u u 和 v v v 的线性组合来表示。例如,这是一个线性组合,本质上是一个线性系统。
c 1 [ 4 2 ] + c 2 [ − 2 2 ] = [ 2 10 ] c_1\left[\begin{array}{l} 4 \\ 2 \end{array}\right]+c_2\left[\begin{array}{c} -2 \\ 2 \end{array}\right]=\left[\begin{array}{c} 2 \\ 10 \end{array}\right] c1[42]+c2[−22]=[210]
import matplotlib.pyplot as plt
import numpy as np
import sympy as sysy.init_printing()
A = sy.Matrix([[4, -2, 2], [2, 2, 10]])
A.rref()
( [ 1 0 2 0 1 3 ] , ( 0 , 1 ) ) \left(\left[\begin{array}{lll}1 & 0 & 2 \\ 0 & 1 & 3\end{array}\right],(0,1)\right) ([100123],(0,1))
解是 ( c 1 , c 2 ) T = ( 2 , 3 ) T \left(c_1, c_2\right)^T=(2,3)^T (c1,c2)T=(2,3)T,这意味着 2 次 [ 4 2 ] \left[\begin{array}{l}4 \\ 2\end{array}\right] [42] 和 3 次 [ − 2 2 ] \left[\begin{array}{c}-2 \\ 2\end{array}\right] [−22] 相加等于 [ 2 10 ] \left[\begin{array}{c}2 \\ 10\end{array}\right] [210]。
计算向量的斜率,即 y x \frac{y}{x} xy :
s 1 = y x = 2 4 = 0.5 s 2 = y x = 2 − 2 = − 1 s_1=\frac{y}{x}=\frac{2}{4}=0.5 s_2=\frac{y}{x}=\frac{2}{-2}=-1 s1=xy=42=0.5s2=xy=−22=−1
基础可以构建为:
y 1 = a + 0.5 x y 2 = b − x y_1=a+0.5 x y_2=b-x y1=a+0.5xy2=b−x
其中 a a a和 b b b将被设置为具有规则间隔的常数,例如 ( 2.5 , 5 , 7.5 , 10 ) (2.5,5,7.5,10) (2.5,5,7.5,10)。
基础的坐标以粉色网状网格表示,其中每个线段都是“新”坐标中的一个单位(如笛卡尔坐标系中的 1 )。
fig, ax = plt.subplots(figsize=(8, 8))
vectors = np.array([[[0, 0, 4, 2]], [[0, 0, -2, 2]], [[0, 0, 2, 10]], [[0, 0, 8, 4]], [[0, 0, -6, 6]]]
)
colors = ["b", "b", "r", "b", "b"]for i in range(vectors.shape[0]):X, Y, U, V = zip(*vectors[i, :, :])ax.quiver(X, Y, U, V, angles="xy", scale_units="xy", color=colors[i], scale=1, alpha=0.6)ax.text(x=vectors[i, 0, 2],y=vectors[i, 0, 3],s="$(%.0d, %.0d)$" % (vectors[i, 0, 2], vectors[i, 0, 3]),fontsize=16,)points12 = np.array([[8, 4], [2, 10]])
ax.plot(points12[:, 0], points12[:, 1], color="b", lw=3.5, alpha=0.5, ls="--")points34 = np.array([[-6, 6], [2, 10]])
ax.plot(points34[:, 0], points34[:, 1], color="b", lw=3.5, alpha=0.5, ls="--")ax.set_xlim([-10, 10])
ax.set_ylim([0, 10.5])
ax.set_xlabel("x-axis", fontsize=16)
ax.set_ylabel("y-axis", fontsize=16)
ax.grid()a = np.arange(-11, 20, 1)
x = np.arange(-11, 20, 1)for i in a:y1 = i + 0.5 * xax.plot(x, y1, ls="--", color="pink", lw=2)y2 = i - xax.plot(x, y2, ls="--", color="pink", lw=2)ax.set_title(r"Linear Combination of Two Vectors in $\mathbf{R}^2$", size=22, x=0.5, y=1.01
)plt.show()
我们还可以证明, R 3 R ^3 R3 中的任何向量都可以是笛卡尔坐标系中标准基的线性组合。这是从标准基础绘制 3D 线性组合的函数,我们只需输入标量乘数。
def linearCombo(a, b, c):fig = plt.figure(figsize=(10, 10))ax = fig.add_subplot(111, projection="3d")vec = np.array([[[0, 0, 0, 1, 0, 0]], [[0, 0, 0, 0, 1, 0]], [[0, 0, 0, 0, 0, 1]], [[0, 0, 0, a, 0, 0]], [[0, 0, 0, 0, b, 0]], [[0, 0, 0, 0, 0, c]], [[0, 0, 0, a, b, c]],]) colors = ["b", "b", "b", "r", "r", "r", "g"]for i in range(vec.shape[0]):X, Y, Z, U, V, W = zip(*vec[i, :, :])ax.quiver(X,Y,Z,U,V,W,length=1,normalize=False,color=colors[i],arrow_length_ratio=0.08,pivot="tail",linestyles="solid",linewidths=3,alpha=0.6,)dlines = np.array([[[a, 0, 0], [a, b, 0]],[[0, b, 0], [a, b, 0]],[[0, 0, c], [a, b, c]],[[0, 0, c], [a, 0, c]],[[a, 0, c], [a, b, c]],[[0, 0, c], [0, b, c]],[[0, b, c], [a, b, c]],[[a, 0, 0], [a, 0, c]],[[0, b, 0], [0, b, c]],[[a, b, 0], [a, b, c]],])colors = ["k", "k", "g", "k", "k", "k", "k", "k", "k"]for i in range(dlines.shape[0]):ax.plot(dlines[i, :, 0],dlines[i, :, 1],dlines[i, :, 2],lw=3,ls="--",color="black",alpha=0.5,)ax.text(x=a, y=b, z=c, s=" $(%0.d, %0.d, %.0d)$" % (a, b, c), size=18)ax.text(x=a, y=0, z=0, s=" $%0.d e_1 = (%0.d, 0, 0)$" % (a, a), size=15)ax.text(x=0, y=b, z=0, s=" $%0.d e_2 = (0, %0.d, 0)$" % (b, b), size=15)ax.text(x=0, y=0, z=c, s=" $%0.d e_3 = (0, 0, %0.d)$" % (c, c), size=15)ax.grid()ax.set_xlim([0, a + 1])ax.set_ylim([0, b + 1])ax.set_zlim([0, c + 1])ax.set_xlabel("x-axis", size=18)ax.set_ylabel("y-axis", size=18)ax.set_zlabel("z-axis", size=18)ax.set_title("Vector $(%0.d, %0.d, %.0d)$ Visualization" % (a, b, c), size=20)ax.view_init(elev=20.0, azim=15)if __name__ == "__main__":a = 7b = 4c = 9linearCombo(a, b, c)
不一致系统意味着不存在唯一解。将不一致系统的解视为线性组合似乎很奇怪,但它本质上代表了一条线的轨迹。我们将从线性组合的角度探讨解的含义。
考虑此系统:
[ 1 1 2 − 2 0 1 1 1 2 ] [ c 1 c 2 c 3 ] = [ 1 − 3 1 ] \left[\begin{array}{ccc} 1 & 1 & 2 \\ -2 & 0 & 1 \\ 1 & 1 & 2 \end{array}\right]\left[\begin{array}{l} c_1 \\ c_2 \\ c_3 \end{array}\right]=\left[\begin{array}{c} 1 \\ -3 \\ 1 \end{array}\right] 1−21101212 c1c2c3 = 1−31
Python解
A = sy.Matrix([[1, 1, 2, 1], [-2, 0, 1, -3], [1, 1, 2, 1]])
A.rref()
( [ 1 0 − 1 2 3 2 0 1 5 2 − 1 2 0 0 0 0 ] , ( 0 , 1 ) ) \left(\left[\begin{array}{cccc}1 & 0 & -\frac{1}{2} & \frac{3}{2} \\ 0 & 1 & \frac{5}{2} & -\frac{1}{2} \\ 0 & 0 & 0 & 0\end{array}\right],(0,1)\right) 100010−2125023−210 ,(0,1)
由于自由变量的存在,该解不是唯一的:
c 1 − 1 2 c 3 = 3 2 c 2 + 5 2 c 3 = − 1 2 c 3 = 自由变量 c_1-\frac{1}{2} c_3=\frac{3}{2} c_2+\frac{5}{2} c_3=-\frac{1}{2} c_3=\text { 自由变量 } c1−21c3=23c2+25c3=−21c3= 自由变量
令 c 3 = t c_3= t c3=t,系统可以参数化:
[ c 1 c 2 c 3 ] = [ 3 2 + 1 2 t − 1 2 − 5 2 t t ] \left[\begin{array}{l} c_1 \\ c_2 \\ c_3 \end{array}\right]=\left[\begin{array}{c} \frac{3}{2}+\frac{1}{2} t \\ -\frac{1}{2}-\frac{5}{2} t \\ t \end{array}\right] c1c2c3 = 23+21t−21−25tt
该解是一条无限长的线,为了将其形象化,我们设置 t ∈ ( − 1 , 1 ) t \in(-1,1) t∈(−1,1) 的范围,解如下所示:
fig = plt.figure(figsize=(8, 8))
ax = fig.add_subplot(projection="3d")t = np.linspace(-1, 1, 10)
c1 = 3 / 2 + t / 2
c2 = -1 / 2 - 5 / 2 * tax.plot(c1, c2, t, lw=5)ax.set_xlabel("x-axis", size=18)
ax.set_ylabel("y-axis", size=18)
ax.set_zlabel("z-axis", size=18)ax.set_title("Solution of A Linear System with One Free Variable", size=18)
plt.show()
👉参阅、更新:计算思维 | 亚图跨际
相关文章:
Python和R及Julia妊娠相关疾病生物剖析算法
🎯要点 算法使用了矢量投影、现代优化线性代数、空间分区技术和大数据编程利用相应向量空间中标量积和欧几里得距离的紧密关系来计算使用妊娠相关疾病(先兆子痫)、健康妊娠和癌症测试算法模型使用相关性投影利用相关性和欧几里得距离之间的关…...
Web安全 - 重放攻击(Replay Attack)
文章目录 OWASP 2023 TOP 10导图1. 概述2. 重放攻击的原理攻击步骤 3. 常见的重放攻击场景4. 防御重放攻击的技术措施4.1 使用时效性验证(Time-Based Tokens)4.2 单次令牌机制(Nonce)4.3 TLS/SSL 协议4.4 HMAC(哈希消息…...
Python项目文档生成常用工具对比
写在前面: 通过阅读本片文章,你将了解:主流的Python项目文档生成工具(Sphinx,MkDocs,pydoc,Pdoc)简介及对比,本文档不涉及相关工具的使用。 概述 近期,由于…...
教育领域的技术突破:SpringBoot系统实现
2相关技术 2.1 MYSQL数据库 MySQL是一个真正的多用户、多线程SQL数据库服务器。 是基于SQL的客户/服务器模式的关系数据库管理系统,它的有点有有功能强大、使用简单、管理方便、安全可靠性高、运行速度快、多线程、跨平台性、完全网络化、稳定性等,非常…...
RabbitMQ入门3—virtual host参数详解
在 RabbitMQ 中,创建 Virtual Host 时会涉及到一些参数配置,比如 tags 和 Default Queue Type。下面是对这两个参数的详细解释: 1. Tags Tags 是 Virtual Host 的标记,用来为 Virtual Host 添加元数据,帮助你管理和组…...
【Nacos入门到实战十四】Nacos配置管理:集群部署与高可用策略
个人名片 🎓作者简介:java领域优质创作者 🌐个人主页:码农阿豪 📞工作室:新空间代码工作室(提供各种软件服务) 💌个人邮箱:[2435024119qq.com] 📱…...
UE5+ChatGPT实现3D AI虚拟人综合实战
第11章 综合实战:UE5ChatGPT实现3D AI虚拟人 通过结合Unreal Engine 5(UE5)的强大渲染能力和ChatGPT的自然语言处理能力,我们可以实现一个高度交互性的AI虚拟人。本文将详细介绍如何在UE5中安装必要的插件,配置OpenAI…...
[图形学]smallpt代码详解(2)
一、简介 本文紧接在[图形学]smallpt代码详解(1)之后,继续详细讲解smallpt中的代码,包括自定义函数(第41到47行)和递归路径跟踪函数(第48到74行)部分。 二、smallpt代码详解 1.自…...
vmstat命令:系统性能监控
一、命令简介 vmstat 是一种在类 Unix 系统上常用的性能监控工具,它可以报告虚拟内存统计信息,包括进程、内存、分页、块 IO、陷阱(中断)和 CPU 活动等。 二、命令参数 2.1 命令格式 vmstat [选项] [ 延迟 [次数] ]2…...
linux部署NFS和autofs自动挂载
目录 (一)NFS: 1. 什么是NFS 2. NFS守护进程 3. RPC服务 4. 原理 5. 部署 5.1 安装NFS服务 5.2 配置防火墙 5.3 创建服务端共享目录 5.4 修改服务端配置文件 (1). /etc/exports (2). nfs.conf 5.5 启动nfs并加入自启 5.6 客户端…...
WPF RadioButton 绑定boolean值
<RadioButtonMargin"5"Content"替换"IsChecked"{Binding CorrectionOption.ReCorrectionMode}" /> <RadioButtonMargin"5"Content"平均"IsChecked"{Binding CorrectionOption.ReCorrectionMode, Converter{St…...
2024 ciscn WP
一、MISC 1.火锅链观光打卡 打开后连接自己的钱包,然后点击开始游戏,答题八次后点击获取NFT,得到有flag的图片 没什么多说的,知识问答题 兑换 NFT Flag{y0u_ar3_hotpot_K1ng} 2.Power Trajectory Diagram 方法1: 使用p…...
代码随想录--字符串--重复的子字符串
题目 给定一个非空的字符串,判断它是否可以由它的一个子串重复多次构成。给定的字符串只含有小写英文字母,并且长度不超过10000。 示例 1: 输入: "abab" 输出: True 解释: 可由子字符串 "ab" 重复两次构成。示例 2: 输入: "…...
No.5 笔记 | 网络端口协议概览:互联网通信的关键节点
1. 常用端口速览表 端口范围主要用途1-1023系统或特权端口1024-49151注册端口49152-65535动态或私有端口 远程访问类(20-23) 端口服务记忆技巧安全风险21FTP"File Transfer Port"爆破、嗅探、溢出、后门22SSH"Secure Shell"爆破、…...
手机地址IP显示不对?别急,这里有解决方案
在当今的数字化生活中,手机已成为我们连接世界的重要工具。而手机的IP地址,作为我们在网络上的“身份证”,其准确性对于网络体验至关重要。然而,有时我们可能会遇到手机IP地址显示不正确的问题,这不仅会影响网络连接质…...
人工智能对未来工作影响的四种可能性
随着人工智能(AI)技术的迅速发展,其对人类工作的影响已成为讨论的热点话题。我们经常听到有关AI威胁论的观点,担心它将取代人类工作,但也有专家认为AI将成为一种辅助工具,帮助人类提升工作效率。宾夕法尼亚…...
SpringBoot+ElasticSearch7.12.1+Kibana7.12.1简单使用
案例简介 本案例是把日志数据保存到Elasticsearch的索引中,并通过Kibana图形化界面的开发工具给查询出来添加的日志数据,完成从0到1的简单使用 ElasticSearch职责用法简介 ElasticSearch用在哪 ElasticSearch在我这个案例中,不是用来缓解增…...
RESTful风格接口+Swagger生成Web API文档
RESTful风格接口Swagger生成Web API文档 文章目录 RESTful风格接口Swagger生成Web API文档1.RESTful风格接口RESTful简介RESTful详细图示常见http状态码springboot实现RESTfulRESTful springboot设计实例demo 2.Swagger生产Web API文档Swagger简介使用Swagger1.加入依赖2.配置S…...
性能测试学习2:常见的性能测试策略(基准测试/负载测试/稳定性测试/压力测试/并发测试)
一.基准测试 1)概念 狭义上讲:就是单用户测试。测试环境确定后,对业务模型中的重要业务做单独的测试,获取单用户运行时的各项性能指标。 广义上:是一种测量和评估软件性能指标的活动。可以在某个时刻通过基准测试建立…...
【C++】—— 继承(上)
【C】—— 继承(上) 1 继承的概念与定义1.1 继承的概念1.2 继承定义1.2.1 定义格式1.2.2 继承父类成员访问方式的变化 1.3 继承类模板 2 父类和子类对象赋值兼容转换3 继承中的作用域3.1 隐藏规则3.2 例题 4 子类的默认成员函数4.1 构造函数4.1.1 父类有…...
后进先出(LIFO)详解
LIFO 是 Last In, First Out 的缩写,中文译为后进先出。这是一种数据结构的工作原则,类似于一摞盘子或一叠书本: 最后放进去的元素最先出来 -想象往筒状容器里放盘子: (1)你放进的最后一个盘子(…...
Linux应用开发之网络套接字编程(实例篇)
服务端与客户端单连接 服务端代码 #include <sys/socket.h> #include <sys/types.h> #include <netinet/in.h> #include <stdio.h> #include <stdlib.h> #include <string.h> #include <arpa/inet.h> #include <pthread.h> …...
多模态2025:技术路线“神仙打架”,视频生成冲上云霄
文|魏琳华 编|王一粟 一场大会,聚集了中国多模态大模型的“半壁江山”。 智源大会2025为期两天的论坛中,汇集了学界、创业公司和大厂等三方的热门选手,关于多模态的集中讨论达到了前所未有的热度。其中,…...
【android bluetooth 框架分析 04】【bt-framework 层详解 1】【BluetoothProperties介绍】
1. BluetoothProperties介绍 libsysprop/srcs/android/sysprop/BluetoothProperties.sysprop BluetoothProperties.sysprop 是 Android AOSP 中的一种 系统属性定义文件(System Property Definition File),用于声明和管理 Bluetooth 模块相…...
【配置 YOLOX 用于按目录分类的图片数据集】
现在的图标点选越来越多,如何一步解决,采用 YOLOX 目标检测模式则可以轻松解决 要在 YOLOX 中使用按目录分类的图片数据集(每个目录代表一个类别,目录下是该类别的所有图片),你需要进行以下配置步骤&#x…...
Java入门学习详细版(一)
大家好,Java 学习是一个系统学习的过程,核心原则就是“理论 实践 坚持”,并且需循序渐进,不可过于着急,本篇文章推出的这份详细入门学习资料将带大家从零基础开始,逐步掌握 Java 的核心概念和编程技能。 …...
vue3+vite项目中使用.env文件环境变量方法
vue3vite项目中使用.env文件环境变量方法 .env文件作用命名规则常用的配置项示例使用方法注意事项在vite.config.js文件中读取环境变量方法 .env文件作用 .env 文件用于定义环境变量,这些变量可以在项目中通过 import.meta.env 进行访问。Vite 会自动加载这些环境变…...
代理篇12|深入理解 Vite中的Proxy接口代理配置
在前端开发中,常常会遇到 跨域请求接口 的情况。为了解决这个问题,Vite 和 Webpack 都提供了 proxy 代理功能,用于将本地开发请求转发到后端服务器。 什么是代理(proxy)? 代理是在开发过程中,前端项目通过开发服务器,将指定的请求“转发”到真实的后端服务器,从而绕…...
浪潮交换机配置track检测实现高速公路收费网络主备切换NQA
浪潮交换机track配置 项目背景高速网络拓扑网络情况分析通信线路收费网络路由 收费汇聚交换机相应配置收费汇聚track配置 项目背景 在实施省内一条高速公路时遇到的需求,本次涉及的主要是收费汇聚交换机的配置,浪潮网络设备在高速项目很少,通…...
GruntJS-前端自动化任务运行器从入门到实战
Grunt 完全指南:从入门到实战 一、Grunt 是什么? Grunt是一个基于 Node.js 的前端自动化任务运行器,主要用于自动化执行项目开发中重复性高的任务,例如文件压缩、代码编译、语法检查、单元测试、文件合并等。通过配置简洁的任务…...
