快速分析变量间关系(Boruta+SHAP+RCS)的 APP(streamlit)

快速分析变量间关系(Boruta+SHAP+RCS)的 APP(streamlit)

以下情况下,你需要这个快速分析的APP:

  1. 正式分析之前的预分析,有助于确定分析的方向和重点变量;
  2. 收集变量过程中,监测收集的变量是否合适。偶尔会遇到数据集中没有特征变量和结局变量相关,这如果发生在数据收集结束的阶段,将是灾难性的,所以我们需要不断的监测数据的收集。

下面介绍一个自动化程度较高的,有一定的准确度,且快速的数据探索APP。之前介绍过R语言版本,但是因为算力要求较多,没有部署到网络,所以撰写了目前的streamlit版本。

第一步,变量筛选模块,采用了Boruta算法的改进版leshy算法(arfs包),其中的参数'important='naive'',还可以选择'shap'(因为运算慢,舍弃了),给大家推荐这个包。这个模块有回归和二分类两个模型,还各自内置了一个数据集,进行展示。

第二步,SHAP分析,这里主要展示全局解释的结果,包括汇总图和单变量的散点图,而局部解释的结果,如瀑布图,不符合这个APP的目的,暂时没有涉及。交互作用的部分(待添加)。

第三步,限制性立方样条曲线拟合,对某特征变量SHAP值变化的趋势进行拟合并确定关键的点对应的特征值,比如二分类模型,SHAP值为0时对应的特征值是两种结局概率相等的点,低于或者高于这个点的值都意味着倾向于发生某种结局。还设计了可以调整的曲线拟合参数的n_knots和degree,以及两条纵向的虚线来指示特定的点。

APP地址

https://focus-analysis.streamlit.app/

代码地址

https://github.com/liuyp2080/fast_analysis

心得体会

Web APP, 代码复杂程度较低,特别适合数据分析为主,编程代码为辅的人群,包括作为临床预测模型构建好之后进入临床应用的媒介。R语言的shinyAPP的瓶颈在于部署,需要算力较多的就需要花钱进行部署,在这一点上,streamlit可能是因为结合GPU,所以是更好的选择,所以深度学习模型,首选的是也是streamlit(机器学习和统计分析,可以尝试shinyAPP)。建立了一个web APP讨论的群组,欢迎大家加入,同时接受APP制作的委托,欢迎大家咨询!

相关推荐
aiguangyuan14 分钟前
使用LSTM进行情感分类:原理与实现剖析
人工智能·python·nlp
小小张说故事22 分钟前
BeautifulSoup:Python网页解析的优雅利器
后端·爬虫·python
luoluoal23 分钟前
基于python的医疗领域用户问答的意图识别算法研究(源码+文档)
python
Shi_haoliu29 分钟前
python安装操作流程-FastAPI + PostgreSQL简单流程
python·postgresql·fastapi
ZH154558913138 分钟前
Flutter for OpenHarmony Python学习助手实战:API接口开发的实现
python·学习·flutter
小宋102140 分钟前
Java 项目结构 vs Python 项目结构:如何快速搭一个可跑项目
java·开发语言·python
一晌小贪欢1 小时前
Python 爬虫进阶:如何利用反射机制破解常见反爬策略
开发语言·爬虫·python·python爬虫·数据爬虫·爬虫python
躺平大鹅1 小时前
5个实用Python小脚本,新手也能轻松实现(附完整代码)
python
yukai080082 小时前
【最后203篇系列】039 JWT使用
python