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

相关推荐
痴儿哈哈3 分钟前
自动化机器学习(AutoML)库TPOT使用指南
jvm·数据库·python
花酒锄作田17 分钟前
SQLAlchemy中使用UPSERT
python·sqlalchemy
SoleMotive.18 分钟前
一个准程序员的健身日志:用算法调试我的增肌计划
python·程序员·健身·职业转型
亓才孓26 分钟前
[Properties]写配置文件前,必须初始化Properties(引用变量没执行有效对象,调用方法会报空指针错误)
开发语言·python
Bruk.Liu31 分钟前
(LangChain 实战14):基于 ChatMessageHistory 自定义实现对话记忆功能
人工智能·python·langchain·agent
大江东去浪淘尽千古风流人物1 小时前
【VLN】VLN(Vision-and-Language Navigation视觉语言导航)算法本质,范式难点及解决方向(1)
人工智能·python·算法
Swift社区1 小时前
Gunicorn 与 Uvicorn 部署 Python 后端详解
开发语言·python·gunicorn
Coinsheep1 小时前
SSTI-flask靶场搭建及通关
python·flask·ssti
IT实战课堂小元酱1 小时前
大数据深度学习|计算机毕设项目|计算机毕设答辩|flask露天矿爆破效果分析系统开发及应用
人工智能·python·flask
码农阿豪1 小时前
Flask应用上下文问题解析与解决方案:从错误日志到完美修复
后端·python·flask