基于Shiny搭建病人患病预测计算器(随机森林算法)

一、基本信息
软件名称:R
版本:4.3.2
涉及包:openxlsx/fastshap/shapviz/ranger/ggplot2
数据来源:示例数据
方法简介:随机森林算法在分类问题上通过集成多个决策树,不仅提高了模型的准确性和稳定性,而且还能够处理复杂的数据集,同时提供关于特征重要性的有用信息。
二、方法介绍
哈喽,集美们AND集帅们!!!!很久没写技术性推文了。一方面由于正式工作了吧,不再活力满满了;另一方面由于“懒病”犯了。其实吧,我觉得吧我看着很懒,实际一点也不勤快!!。此处容许我仰天长“笑”几分钟。 好了话不多说,直接进入今天的正题。为什么突然写这个推文了?因为我的一个临床集帅朋友让我帮忙写个计算器(此处重点要考)。为什么要做随机森林计算器?下面看个审稿人的灵魂拷问:AUC值很高,灵敏度、特异度都很高,模型性能很不错,所以你为啥不去应用呢??此时此刻,Author必定慌的一批。没事拯救“世界”的张来了,下面我将带着屏幕面前可爱的你,用随机森林做个病人疾病预测计算器(希望你的计算器可以造福更多的人类)。
思路:大致思路是这样的,首先我们在R环境训练好模型(当然这里忽略了随机森林的最优参数调整,默认你导出的模型是最优模型),然后将导出的模型加载到Shiny环境中去,利用Shiny搭建前端及后端简要代码。(不出意外此时你应该是懵逼状态,你摸着良心问自己是不是)。
三、操作代码
本在线计算器功能:患病概率计算+特征Shap值展示
1.本次演示的数据为一组临床病人数据(总共四个变量,研究目的通过3个变量预测患不患病,其中平均SBP、DBPCV为连续变量、动脉瘤位置为分类变量)

2.下面将进行随机森林模型构建,以及Shap可视化




3.下面将进行训练好的模型导入至新的环境中,利用shiny搭建前端及后端,形成患病风险计算器。




问题来了集美集帅们怎么做?针对自己的数据要改哪些代码?

效果图:

又是一个不眠之夜睡觉!!!
最后编辑于 2024-11-17 · 浏览 622