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

相关推荐
weixin_5806140021 小时前
如何提取SQL日期中的年份_使用YEAR或EXTRACT函数
jvm·数据库·python
2301_8135995521 小时前
SQL生产环境规范_数据库使用最佳实践
jvm·数据库·python
李可以量化21 小时前
QMT 量化实战:用 Python 实现线性回归通道,精准识别趋势中的支撑与压力(下)
python·qmt·量化 qmt ptrade
a95114164221 小时前
Go 中通过 channel 传递切片时的数据竞争与深拷贝解决方案
jvm·数据库·python
Dxy123931021621 小时前
Python 使用正则表达式将多个空格替换为一个空格
开发语言·python·正则表达式
qq_1898070321 小时前
如何修改RAC数据库名_NID工具在集群环境下的改名步骤
jvm·数据库·python
zhangchaoxies1 天前
如何检测SQL注入风险_利用模糊测试技术发现漏洞
jvm·数据库·python
Luca_kill1 天前
MCP数据采集革命:从传统爬虫到智能代理的技术进化
爬虫·python·ai·数据采集·mcp·webscraping·集蜂云
zhangchaoxies1 天前
CSS如何实现响应式弹性网格布局_配合media query修改flex-wrap属性
jvm·数据库·python
ZC跨境爬虫1 天前
Scrapy分布式爬虫(单机模拟多节点):豆瓣Top250项目设置与数据流全解析
分布式·爬虫·python·scrapy