快速分析变量间关系(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制作的委托,欢迎大家咨询!

相关推荐
Wise玩转AI14 小时前
Day 27|智能体的 UI 与用户交互层
人工智能·python·ui·ai·chatgpt·ai智能体
s***469815 小时前
【玩转全栈】----Django模板语法、请求与响应
数据库·python·django
runepic15 小时前
Python + PostgreSQL 批量图片分发脚本:分类、去重、断点续拷贝
服务器·数据库·python·postgresql
codists15 小时前
2025年11月文章一览
python
生而为虫16 小时前
31.Python语言进阶
python·scrapy·django·flask·fastapi·pygame·tornado
言之。16 小时前
Claude Code 实用开发手册
python
计算机毕设小月哥16 小时前
【Hadoop+Spark+python毕设】中国租房信息可视化分析系统、计算机毕业设计、包括数据爬取、Spark、数据分析、数据可视化、Hadoop
后端·python·mysql
2***c43516 小时前
Redis——使用 python 操作 redis 之从 hmse 迁移到 hset
数据库·redis·python
二川bro17 小时前
模型部署实战:Python结合ONNX与TensorRT
开发语言·python
秋邱17 小时前
AI + 社区服务:智慧老年康养助手(轻量化落地方案)
人工智能·python·重构·ar·推荐算法·agi