降维·预测·救命:PCA、随机森林与乳腺癌

一、引言

乳腺癌作为女性健康领域的一大挑战,对全球范围内的女性健康产生了深远影响。据世界卫生组织(WHO)统计,乳腺癌已成为全球女性恶性肿瘤发病率的最高者,且呈现逐年上升的趋势。在中国,乳腺癌也是女性最常见的恶性肿瘤之一,给社会和家庭带来了沉重的负担。因此,对乳腺癌的早期筛查、诊断和治疗具有极其重要的意义,不仅关乎个体女性患者的生存质量,也关系到整个社会的公共卫生问题。

随着信息技术的飞速发展,数据科学在医疗领域的应用日益广泛。通过对大规模医疗数据的采集、整合和分析,数据科学为医疗决策提供了全新的视角和手段,加速了疾病诊断、治疗方案优化以及精准医疗的实现。例如,基于大数据分析的乳腺癌风险预测模型能够帮助医生更早地发现高风险人群并进行个体化干预和治疗[。此外,数据科学还促进了医疗资源的合理配置和医疗服务的智能化提升,为医疗卫生体系的可持续发展注入了新动力。

二、数据降维技术(PCA)

2.1 PCA在数据分析中的作用

主成分分析(Principal Component Analysis,PCA)是一种常用的多元统计分析方法,其主要作用是通过线性变换将高维数据转换为低维数据,从而发现数据中的内在结构和模式。PCA通过寻找数据中的主成分(即最大方差方向),实现了数据的降维和特征提取,能够帮助我们更好地理解数据集的特点和相关性,同时减少数据的噪声影响,简化数据分析过程

2.2 PCA原理简介

主成分分析(Principal Component Analysis,PCA)是一种常用的数据降维和特征提取方法,它的原理主要包括以下几个步骤:

  1. 去中心化(Mean Centering):首先,对原始数据进行去中心化处理,即将每个特征的值减去该特征的均值,使得数据的均值为零。这一步骤有助于消除数据中的平移影响,使得PCA能够更好地捕捉数据的方差和相关性。
  2. 计算协方差矩阵(Covariance Matrix):接下来,通过计算去中心化后的数据的协方差矩阵,来衡量各个特征之间的相关性。协方差矩阵的对角线上的元素表示各个特征的方差,非对角线上的元素表示不同特征之间的协方差。
  3. 特征值分解(Eigenvalue Decomposition):对协方差矩阵进行特征值分解,得到特征值和特征向量。特征向量构成了原始数据空间的一组正交基,而特征值代表了在相应特征向量方向上的方差大小。
  4. 选择主成分:按照特征值的大小对特征向量进行排序,选取前k个特征向量作为主成分,其中k通常是希望保留的维度数目。这些主成分能够最大程度地保留原始数据中的方差信息,从而实现了数据的降维。
  5. 数据投影:最后,通过将原始数据投影到选取的主成分上,得到了降维后的数据表示,可以用于后续的分析和建模。

PCA通过线性变换的方式将高维数据转换为低维数据,从而挖掘数据的内在结构和特征,是一种强大的数据降维和特征提取工具。其原理主要包括去中心化、协方差矩阵计算、特征值分解和主成分选择等步骤,通过这些步骤,PCA能够帮助我们更好地理解和利用复杂的多维数据。

2.3 PCA在乳腺癌研究中的应用潜力

在乳腺癌研究领域,PCA可以被用于处理包含大量乳腺癌患者临床数据和生物标记物数据的高维数据集。通过PCA技术,可以将这些高维数据进行降维处理,发现数据中的潜在模式和相关特征,有助于识别潜在的生物标记物、预测乳腺癌的发生风险以及患者的预后情况。此外,PCA还可以帮助科研人员在乳腺癌研究中构建更加简洁和有效的预测模型,促进对乳腺癌发病机制和治疗效果的深入理解。

三、实例演示

  • 「数据集准备」
library(survival)
head(gbsg)

结果展示:

   pid age meno size grade nodes pgr er hormon rfstime status
1  132  49    0   18     2     2   0  0      0    1838      0
2 1575  55    1   20     3    16   0  0      0     403      1
3 1140  56    1   40     3     3   0  0      0    1603      0
4  769  45    0   25     3     1   0  4      0     177      0
5  130  65    1   30     2     5   0 36      1    1855      0
6 1642  48    0   52     2    11   0  0      0     842      1
  • 「示例数据集介绍」
> str(gbsg)
'data.frame':   686 obs. of  10 variables:
 $ age    : int  49 55 56 45 65 48 48 37 67 45 ...
 $ meno   : int  0 1 1 0 1 0 0 0 1 0 ...
 $ size   : int  18 20 40 25 30 52 21 20 20 30 ...
 $ grade  : int  2 3 3 3 2 2 3 2 2 2 ...
 $ nodes  : int  2 16 3 1 5 11 8 9 1 1 ...
 $ pgr    : int  0 0 0 0 0 0 0 0 0 0 ...
 $ er     : int  0 0 0 4 36 0 0 0 0 0 ...
 $ hormon : int  0 0 0 0 1 0 0 1 1 0 ...
 $ rfstime: int  1838 403 1603 177 1855 842 293 42 564 1093 ...
 $ status : Factor w/ 2 levels "0","1"1 2 1 1 1 2 2 1 2 2 ...

age:患者年龄
meno:更年期状态(0表示未更年期,1表示已更年期)
size:肿瘤大小
grade:肿瘤分级
nodes:受累淋巴结数量
pgr:孕激素受体表达水平
er:雌激素受体表达水平
hormon:激素治疗(0表示否,1表示是)
rfstime:复发或死亡时间(以天为单位)
status:事件状态(0表示被截尾,1表示事件发生)
  • 「主成分分析」
# 去除pid、分类变量和因变量
factors <- gbsg[,c(-1,-3,-5,-9,-11)]
# 进行主成分分析
pca_result <- prcomp(factors, scale. = TRUE)
pca_result
summary(pca_result)
plot(pca_result)
biplot(pca_result)

结果展示:

Standard deviations (1, .., p=6):
[11.2961594 1.1715555 0.9649744 0.9275627 0.7935553 0.7253623

Rotation (n x k) = (6 x 6):
               PC1        PC2         PC3        PC4         PC5          PC6
age      0.3412682 -0.3740719 -0.69109813 -0.2693484 -0.17943112 -0.401553922
size    -0.3583554 -0.4419920  0.35063073 -0.4831968 -0.56009059  0.078114616
nodes   -0.3745135 -0.5435354 -0.04154952 -0.1137996  0.74135742  0.004621285
pgr      0.4552824 -0.2943870  0.60575588  0.1896922  0.08062551 -0.544637856
er       0.5266290 -0.4166516  0.01333686  0.1424638 -0.02134891  0.726728121
rfstime  0.3608834  0.3301822  0.17492011 -0.7904068  0.31230743  0.088696352

> summary(pca_result)
Importance of components:
                         PC1    PC2    PC3    PC4    PC5     PC6
Standard deviation     1.296 1.1716 0.9650 0.9276 0.7936 0.72536
Proportion of Variance 0.280 0.2288 0.1552 0.1434 0.1050 0.08769
Cumulative Proportion  0.280 0.5088 0.6640 0.8074 0.9123 1.00000

「注意:」 主成分分析通常用于连续变量而不是分类变量。主成分分析是一种多变量统计技术,旨在减少数据维度并捕捉数据中的模式。它通过线性变换将原始变量转换为一组新的、不相关的变量,称为主成分。这些主成分是原始变量的线性组合,能够最大程度地保留原始数据的方差。

  • 「计算反差贡献」
# 提取每个主成分的方差贡献率
variance_proportion <- pca_result$sdev^2 / sum(pca_result$sdev^2)
# 计算累积方差贡献率
cumulative_variance_proportion <- cumsum(variance_proportion)

# 绘制保留方差图
plot(cumulative_variance_proportion, 
     xlab = "Number of Principal Components",
     ylab = "Cumulative Variance Proportion",
     ylim = c(01),
     type = 'b'
)

pca_score <- as.data.frame(pca_result$x)
# 通常选择贡献度大于80或者90%的作为分析变量
score <- pca_score[,c(-1,-2,-3)]
data <- cbind(gbsg[c(3,5,9,11)],score)
  • 「构建随机森林」
# 划分训练集和测试集
set.seed(123)
train_indices <- sample(x = 1:nrow(data), size = 0.8 * nrow(data), replace = FALSE)
test_indices <- sample(setdiff(1:nrow(data), train_indices), size = 0.2 * nrow(data), replace = FALSE)
train_data <- data[train_indices, ]
test_data <- data[test_indices, ]
train_gbsg <- gbsg[train_indices, ]
test_gbsg <- gbsg[test_indices, ]

library(randomForest)
library(pROC)
set.seed(666)
# 主成分分析后模型
rf <- randomForest(status~., data=train_data)

# 获取模型预测的概率
pred_prob <- predict(rf, newdata = test_data, type = "class")
# 计算真阳性率和假阳性率
roc1 <- pROC::roc(test_data$status, pred_prob)

# 原始数据模型
# 特征选择后的模型拟合
rf_handle <- randomForest(status~., data=train_gbsg)
pred_prob_handle <- predict(rf_handle, newdata = test_gbsg, type = "class")
# 计算真阳性率和假阳性率
roc2 <- pROC::roc(test_gbsg$status, pred_prob_handle)

plot(roc1,col="#2E9FDF", legacy.axes = TRUE)
plot.roc(roc2,add=TRUE,col="red")

abline(h = seq(01, by = 0.1), col = "gray", lty = "dotted")
legend(0.400.17,  # 图例位置x,y
       bty = "n",   # 图例样式
       legend=c("Handle AUC 0.684","Unhandle AUC 0.854"),  # 添加分组
       col=c("#2E9FDF","red"),  # 颜色跟前面一致
       lwd=2,
    border="black")  # 线条粗

主成分分析(PCA)是一种无监督学习方法,它的目标是通过线性变换将原始变量转换为一组不相关的主成分,以尽可能保留原始数据的方差。在某些情况下,「经过主成分分析的数据用于训练模型可能导致AUC(曲线下面积)值较原始数据训练的模型低的情况」。这可能是由以下几个原因导致的:

  • 信息丢失:主成分分析是通过保留尽可能多的数据方差来减少数据的维度,但在这个过程中也可能会损失一些有助于区分不同类别的信息。因此,PCA可能会导致模型在进行分类任务时丢失了一些重要的特征信息。
  • 噪声影响:主成分分析可能会放大数据中的噪声,而在一些情况下,这些噪声可能会影响模型的性能,使得模型在新数据上的泛化能力降低。
  • 非线性关系:主成分分析是一种线性变换方法,它假设变量之间的关系是线性的。然而,如果原始数据包含复杂的非线性关系,那么经过主成分分析后得到的特征可能无法很好地表示这些非线性关系,导致模型性能下降。

「为了解决这个问题,可以考虑以下几点:」

  • 考虑使用非线性降维方法,如核主成分分析(Kernel PCA),它可以更好地处理非线性关系。
  • 考虑仔细选择保留的主成分数量,以保留足够的信息同时最小化信息损失。
  • 对比不同的降维方法,例如t-SNE、UMAP等,并评估它们在模型训练和性能上的表现。
  • 在使用PCA进行降维时,可以考虑将其作为特征预处理的一部分,并与其他特征选择或降维方法结合使用,以期望提高模型性能。

四、总结

在乳腺癌研究中,主成分分析(PCA)和随机森林都扮演着重要的角色。PCA可以用于降维,帮助去除数据中的冗余信息,凸显出最重要的特征,从而有助于更好地理解乳腺癌数据集的内在结构。通过这种降维的方式,可以更好地可视化数据、识别潜在的模式,并为后续建模提供更清晰的特征空间。

另一方面,随机森林是一种强大的机器学习算法,它在处理复杂的、高维度的数据集时表现优异。在乳腺癌研究中,随机森林可以用于特征选择和分类任务,能够有效地处理大量特征并且对噪声具有一定的鲁棒性,因此能够提供对乳腺癌数据进行有效分类和预测的能力。

数据科学在医疗领域的应用前景广阔。随着医疗技术的不断进步,数据的积累和共享成为可能,数据科学将在医疗领域发挥越来越重要的作用。

  • 个性化医疗:利用大数据和机器学习技术,可以实现对患者病情、治疗反应等个性化特征的分析,从而实现个性化的医疗方案,提高治疗效果和患者生活质量。
  • 疾病预测和预防:通过对大规模医疗数据的分析,可以发现潜在的疾病发生规律和风险因素,从而提前预测和预防疾病的发生,有助于公共卫生和健康管理工作。
  • 医疗资源优化:通过数据科学的方法,可以对医疗资源的分配和利用进行优化,提高医疗服务的效率和公平性。

总的来说,数据科学在医疗领域的发展将为医疗健康产业带来革命性的变化,为人类健康事业作出重要贡献。

*「未经许可,不得以任何方式复制或抄袭本篇文章之部分或全部内容。版权所有,侵权必究。」

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

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

相关文章

实用技巧:嵌入式人员使用http服务模拟工具模拟http服务器测试客户端get和post请求

文为原创文章&#xff0c;转载请注明原文出处 本文章博客地址&#xff1a;https://hpzwl.blog.csdn.net/article/details/134305752 红胖子(红模仿)的博文大全&#xff1a;开发技术集合&#xff08;包含Qt实用技术、树莓派、三维、OpenCV、OpenGL、ffmpeg、OSG、单片机、软硬结…

隧道施工工艺流程vr线上虚拟展示成为产品3D说明书

行业内都知道&#xff0c;汽车生产的大部分都需要冲压加工来完成&#xff0c;因此汽车冲压工艺是汽车制造过程中的重要环节&#xff0c;传统的展示方式往往局限于二维图纸和实地操作&#xff0c;难以充分展现工艺的细节和流程。然而&#xff0c;随着技术的进步&#xff0c;汽车…

HashMap存值、取值及哈希碰撞原理分析

HashMap中的put()和get()的实现原理&#xff1a; map.put(k,v)实现原理 首先将k,v封装到Node对象当中&#xff08;节点&#xff09;。 然后它的底层会调用K的hashCode()方法得出hash值。 通过哈希表函数/哈希算法&#xff0c;将hash值转换成数组的下标&#xff0c;下标位置上…

关于c++中数据sqrt() 精度问题

情景介绍 今天在做一个算法题目的时候&#xff0c;发现&#xff0c;当使用sqrt()方法进行开方的时候&#xff0c;一直存在提交不通过的情况。 问题分析 对数据不断分析后&#xff0c;发现对35进行开方后&#xff0c;仍然满足条件&#xff0c;这就存在问题。 sqrt(35) 5.9160…

jsp 的div表格示例

<%page contentType"text/html;charsetgbk" pageEncoding"UTF-8"%> <!DOCTYPE html> <html><head><meta http-equiv"Content-Type" content"text/html; charsetUTF-8"><title>jsp div 表格示例 &…

十六、W5100S/W5500+RP2040树莓派Pico<HTTP Client上传数据到OneNET>

文章目录 1 前言2 简介2 .1 什么是HTTP&#xff1f;2.2 HTTP Client的优点2.3 HTTP Client工作原理2.4 HTTP Client应用场景 3 WIZnet以太网芯片4 HTTP Client网络设置示例概述以及使用4.1 流程图4.2 准备工作核心4.3 连接方式4.4 主要代码概述4.5 结果演示 5 注意事项6 相关链…

微软surface laptop禁用触摸屏(win10、设备管理器)

参考链接&#xff1a; 在屏幕中启用和禁用触摸屏Windows 设置如下

处理uniapp打包后有广告的问题

1、登录平台&#xff08;开发者中心&#xff09; 2、 3、 4、 5、

Mysql数据库管理---MySQL数据库连接、权限认证

1 mysql系统连接权限认证。 1 mysql数据库权限表在数据库启动时就载入内存&#xff0c;当用户通过身份验证后&#xff0c;就在内存中进行相应权限的存取。系统会用到mysql数据库中3个核心表&#xff1a;user&#xff0c;host&#xff0c;db。 主要包括&#xff1a; 用户列&a…

哈希表简介

哈希的概念 顺序结构以及平衡树中&#xff0c;元素关键码与其存储位置之间没有对应的关系&#xff0c;因此在查找一个元素 时&#xff0c;必须要经过关键码的多次比较。顺序查找时间复杂度为O(N)&#xff0c;平衡树中为树的高度&#xff0c;即 O( l o g 2 N log_2 N log2​N)&…

[论文阅读] CLRerNet: Improving Confidence of Lane Detection with LaneIoU

Abstract 车道标记检测是自动驾驶和驾驶辅助系统的重要组成部分。采用基于行的车道表示的现代深度车道检测方法在车道检测基准测试中表现出色。通过初步的Oracle实验&#xff0c;我们首先拆分了车道表示组件&#xff0c;以确定我们方法的方向。我们的研究表明&#xff0c;现有…

农业银行余额截图生成器,工商建设邮政招商,画板+标签+取快照命令实现

其实这个软件具体的实现原理标题已经讲了&#xff0c;就是易语言的画板绘画实现的&#xff0c;然后加上标签透明属性固定余额模版图生成的&#xff0c;标签的话一定要弄透明的&#xff0c;因为模版上面有些元素的颜色比较杂乱&#xff0c;如果你背景设置白色的它显得就非常假&a…

H264 NALU分析

H264简介 H.264从1999年开始&#xff0c;到2003年形成草案&#xff0c;最后在2007年定稿有待核实。在ITU的标准⾥称为H.264&#xff0c;在MPEG的标准⾥是MPEG-4的⼀个组成部分–MPEG-4 Part 10&#xff0c;⼜叫AdvancedVideo Codec&#xff0c;因此常常称为MPEG-4 AVC或直接叫…

雷达波形之一——LFM线性调频波形

文章目录 前言一、线性调频信号的形式1、原理2、时域表达式3、频域表达式 二、MATLAB 仿真1、涅菲尔积分①、MATLAB 源码②、仿真结果 2、LFM①、MATLAB 源码②、仿真结果1) 典型 LFM 波形&#xff0c;实部2) 典型 LFM 波形&#xff0c;虚部3) LFM 波形的典型谱 前言 线性调频…

追寻Moonbeam身影,泰国区块链周正在火热进行中!

继Moonbeam参与HK Web3月之后&#xff0c;下一站便是由Cryptomind Group举办的泰国2023年区块链周。本次位于泰国的区块链周以“熊市中建设&#xff0c;牛市中崛起”为理念&#xff0c;旨在为对区块链技术感兴趣的个人和投资者提供机会接触行业中的团队和专家&#xff0c;并邀请…

【学习笔记】MySQL死锁及热点行问题

目录 案例优化思路死锁的一些记录笔记热点行问题 本文记录下关于MySQL优化的学习和一点点思考。 案例 一个并发比较大的下单接口&#xff1b; 包括 step1 扣减商品库存step2 生成订单数据step3 记录操作记录 伪代码如下&#xff0c;底层使用的是MySQL数据库&#xff0c;单体服务…

家政系统、家政小程序

家政系统、家政小程序。提供线上下单&#xff0c;订单微信提醒&#xff0c;手机端一键派单&#xff0c;保姆月嫂人员展示&#xff0c;预约。拼团、秒杀、分销等营销功能。系统管理订单&#xff0c;人员&#xff0c;财务。

微头条项目实战:新增RequestHeader注解

1、RequestHeader package com.csdn.mymvc.annotation; import java.lang.annotation.*; Target(ElementType.PARAMETER) Retention(RetentionPolicy.RUNTIME) Inherited public interface RequestHeader { }2、DispatcherServlet package com.csdn.mymvc.core; import com.csd…

外贸SEO外链类型有哪些?外链建设如何做?

外贸SEO外链资源怎么找&#xff1f;海洋建站SEO外链优化方法&#xff1f; 外贸SEO外链在提高网站排名、吸引流量、增加品牌曝光方面发挥着重要作用。海洋建站将探讨外贸SEO外链的不同类型&#xff0c;帮助外贸企业更好地理解如何优化他们的在线营销策略。 外贸SEO外链&#x…

centos配置docker环境

CentOS系统更换软件安装源 yum默认链接的还是国外的镜像&#xff0c;速度相对不理想&#xff0c;配置成国内的镜像会快很多,这里以阿里镜像为例进行配置&#xff1a; 首先进行更新&#xff1a; yum updatebase源 第一步&#xff1a;备份你的原镜像文件&#xff0c;以免出错后…