Python和R及Julia妊娠相关疾病生物剖析算法

news2024/10/4 5:04:49

🎯要点

  1. 算法使用了矢量投影、现代优化线性代数、空间分区技术和大数据编程
  2. 利用相应向量空间中标量积和欧几里得距离的紧密关系来计算
  3. 使用妊娠相关疾病(先兆子痫)、健康妊娠和癌症测试算法模型
  4. 使用相关性投影利用相关性和欧几里得距离之间的关系

🍪语言内容分比

在这里插入图片描述
在这里插入图片描述

🍇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 sy

sy.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=bx
其中 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 * x
    ax.plot(x, y1, ls="--", color="pink", lw=2)
    y2 = i - x
    ax.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 = 7
    b = 4
    c = 9
    linearCombo(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] 121101212 c1c2c3 = 131
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) 1000102125023210 ,(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 { 自由变量 } c121c3=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+21t2125tt
该解是一条无限长的线,为了将其形象化,我们设置 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 * t

ax.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()

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

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

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

linux第二课:常用命令

Kali Linux,黑客必备神器。跟着我,带你从入门到入狱! 第二课,常用命令。 1.whoami 翻译为中文:我是谁 用途:输出现在自己的用户身份(用户名) 参数:无参数 好吧,这透明度一调都不…

基于SpringBoot+Vue的汽车保险理赔系统

作者:计算机学姐 开发技术:SpringBoot、SSM、Vue、MySQL、JSP、ElementUI、Python、小程序等,“文末源码”。 专栏推荐:前后端分离项目源码、SpringBoot项目源码、Vue项目源码、SSM项目源码、微信小程序源码 精品专栏:…

mysql UDF提权(实战案例)

作者:程序那点事儿 日期:2024/09/29 16:10 什么是UDF? 全称 User Define Function (用户自定义函数)UDF提权,就是通过自定义函数,实现执行系统的命令。 dll(windows,dll文件是c语…

10.1 10.3 图DFS 中等 207 Course Schedule 210 Course Schedule Ⅱ

207 Course Schedule class Solution { public:bool hasCycle(int course ,unordered_map<int,vector<int>>& graph,vector<int>& visitStatus){//正在访问的结点再次被访问&#xff0c;存在环if(visitStatus[course] 1)return true;//该结点已经被…

【CViT】Deepfake Video Detection Using Convolutional Vision Transformer

文章目录 Deepfake Video Detection Using Convolutional Vision Transformerkey points**卷积视觉变压器**FLViT实验总结Deepfake Video Detection Using Convolutional Vision Transformer 会议/期刊:2021 作者: key points 提出了一种用于检测深度伪造的卷积视觉变压器…

Linux学习之路 -- 线程 -- 死锁及线程安全相关问题

在上文中&#xff0c;我们已经介绍了线程池的编写&#xff0c;下面补充一下线程的相关知识。 目录 1、线程安全与可重入 <1>概念 <2>区别联系 <3>常见线程不安全的情况 <4>常见的不可重入情况 2、死锁问题 <1>死锁概念 <2>死锁四…

sql-labs靶场第二关测试报告

目录 一、测试环境 1、系统环境 2、使用工具/软件 二、测试目的 三、操作过程 1、寻找注入点 2、注入数据库 ①Order by判断列数 ②判断回显地方 ③爆库&#xff0c;查看数据库名称 ④爆表&#xff0c;查看security库的所有表 ⑤爆列&#xff0c;查看users表的所有…

Redis-哨兵

概念 Redis Sentinel 相关名词解释 注意: 哨兵机制不负责存储数据,只是对其它的redis-server进程起到监控的作用哨兵节点,也会搞一个集合,防止一个挂了 ⼈⼯恢复主节点故障 用户监控: 实际开发中,对于服务器后端开发,监控程序,是很重要的 服务器长期运行,总会有一些意外,…

16.数据结构与算法-串,数组与广义表(串,BF算法,KMP算法)

串&#xff08;String&#xff09; 串的定义 关于串的术语 串的案例引入 串的类型定义 串的顺序存储结构 串的链式存储结构-块链结构 串的模式匹配算法&#xff08;BF算法与KMP算法&#xff09; BF算法 BF算法时间复杂度 KMP算法

CSS滚动条

通过《CSS盒子模型》一节的学习我们知道&#xff0c;页面中的每个元素都可以看作是一个矩形的盒子&#xff0c;我们可以使用 CSS 来控制盒子的大小、位置等等信息。默认情况下&#xff0c;当元素中的内容超出盒子的大小时&#xff0c;例如元素内容区的宽度和高度所组成的矩形区…

Django连接Dify、ChatGPT4o并计算tokens数量方法

通过Dify可以连接很多模型国内、国外的都可以进行选择可以到Dify里创建一个空白应用&#xff0c;然后点击进入就可以看到API了api_url "http://192.168.15.131/v1/chat-messages" api_key "app-UtzTpVNwpTLUcGvRNnnK9QNY" headers {"Authorization…

网站开发基础:JavaScript

前端开发主要使用的技术如 HTML、CSS 和 JavaScript 等。 <!DOCTYPE html> <html lang"en"> <head><meta charset"UTF-8"><title>Title</title><style>.myDivClass{border: solid red 1px;width: 50px;height:…

python如何查询函数

1、通用的帮助函数help() 使用help()函数来查看函数的帮助信息。 如&#xff1a; import requests help(requests) 会有类似如下输出&#xff1a; 2、查询函数信息 ★查看模块下的所有函数&#xff1a; dir(module_name) #module_name是要查询的函数名 如&#xff1a; i…

【D3.js in Action 3 精译_027】3.4 让 D3 数据适应屏幕(下)—— D3 分段比例尺的用法

当前内容所在位置&#xff08;可进入专栏查看其他译好的章节内容&#xff09; 第一部分 D3.js 基础知识 第一章 D3.js 简介&#xff08;已完结&#xff09; 1.1 何为 D3.js&#xff1f;1.2 D3 生态系统——入门须知1.3 数据可视化最佳实践&#xff08;上&#xff09;1.3 数据可…

PCL 点云统计滤波

目录 一、概述 1.1原理 1.2实现步骤 1.3应用场景 二、代码实现 2.1关键函数 2.1.1 统计滤波实现 2.1.2 可视化函数 2.2完整代码 三、实现效果 PCL点云算法汇总及实战案例汇总的目录地址链接&#xff1a; PCL点云算法与项目实战案例汇总&#xff08;长期更新&#xf…

Android SystemUI组件(10)禁用/重启锁屏流程分析

该系列文章总纲链接&#xff1a;专题分纲目录 Android SystemUI组件 本章关键点总结 & 说明&#xff1a; 说明&#xff1a;本章节持续迭代之前章节的思维导图&#xff0c;主要关注左侧上方锁屏分析部分 应用入口处理流程解读 即可。 在 Android 系统中&#xff0c;禁用锁屏…

C++初学者指南-5.标准库(第二部分)–随机数生成

C初学者指南-5.标准库(第二部分)–随机数生成 文章目录 C初学者指南-5.标准库(第二部分)–随机数生成基本概念例子统一随机数布尔值&#xff08;“抛硬币”&#xff09;正态分布具有独立概率的整数 怎么做种子引擎使用自定义生成器 shuffle算法分布类型概述通用接口均匀分布采样…

虚拟机 VMware 安装 macOS

macOS 界面 MAC OS IOS下载&#xff1a; amacOS Monterey by Techrechard.comwmacOS Monterey by Techrechard.com 下载&#xff1a;Unlocker-v2.0.1-x64 Mac OS X 虚拟机中更改屏幕分辨率 终端输入命令&#xff1a; sudo defaults write /Library/Preferences/com.apple.w…

C++11bind、function、lambda详细讲解

一.lambda表达式 关于lambda表达式&#xff0c;我之前是详细讲过的&#xff0c;现在我们只来做重点讲解&#xff08;如果存在疑问可以回看我之前的作品&#xff09;。 固定格式&#xff1a; []()->返回值{};([capture-list] (parameters) mutable -> return-type { state…

UE行为树编辑器图文笔记

对UE的编辑器实现有点好奇&#xff0c;于是从比较熟悉的行为树编辑器着手分析。以下为阅读UE源码后的个人理解&#xff0c;如有错误请指正。 编辑器基础 扩展编辑器的几种方式 MenuBar 菜单栏ToolBar 工具栏DetailCustomization 自定义细节面板&#xff0c;支持两种方式&…