【工具】survex一个解释机器学习生存模型的R包

文章目录

介绍

由于其灵活性和优越的性能,机器学习模型经常补充并优于传统的统计生存模型。然而,由于缺乏用户友好的工具来解释其内部操作和预测原理,它们的广泛采用受到阻碍。为了解决这个问题,我们引入了survex R包,它提供了一个内聚框架,通过应用可解释的人工智能技术来解释任何生存模型。所提出的软件的功能包括理解和诊断生存模型,这可以导致它们的改进。通过揭示决策过程的洞察力,例如变量效应和重要性,survex能够评估模型的可靠性和检测偏差。因此,可以在诸如生物医学研究和保健应用等敏感领域促进透明度和责任。

Due to their flexibility and superior performance, machine learning models frequently complement and outperform traditional statistical survival models. However, their widespread adoption is hindered by a lack of user-friendly tools to explain their internal operations and prediction rationales. To tackle this issue, we introduce the survex R package, which provides a cohesive framework for explaining any survival model by applying explainable artificial intelligence techniques. The capabilities of the proposed software encompass understanding and diagnosing survival models, which can lead to their improvement. By revealing insights into the decision-making process, such as variable effects and importances, survex enables the assessment of model reliability and the detection of biases. Thus, transparency and responsibility may be promoted in sensitive areas, such as biomedical research and healthcare applications.

代码

案例

r 复制代码
library(survex)
library(survival)
library(ranger)

vet <- survival::veteran

cph <- coxph(Surv(time, status) ~ ., data = vet, x = TRUE, model = TRUE)
exp <- explain(cph, data = vet[, -c(3,4)], y = Surv(vet$time, vet$status))
#> Preparation of a new explainer is initiated 
#>   -> model label       :  coxph (  default  ) 
#>   -> data              :  137  rows  6  cols 
#>   -> target variable   :  137  values ( 128 events and 9 censored ) 
#>   -> times             :  50 unique time points , min = 1.5 , median survival time = 80 , max = 999 
#>   -> times             :  (  generated from y as uniformly distributed survival quantiles based on Kaplan-Meier estimator  ) 
#>   -> predict function  :  predict.coxph with type = 'risk' will be used (  default  ) 
#>   -> predict survival function  :  predictSurvProb.coxph will be used (  default  ) 
#>   -> predict cumulative hazard function  :  -log(predict_survival_function) will be used (  default  ) 
#>   -> model_info        :  package survival , ver. 3.7.0 , task survival (  default  ) 
#>   A new explainer has been created!


shap <- model_survshap(exp, veteran[c(1:4, 17:20, 110:113, 126:129), -c(3,4)])

plot(shap)

参考

  • survex: an R package for explaining machine learning survival models
相关推荐
智慧地球(AI·Earth)2 分钟前
CEO亲自宣传!全新ChatGPT Images!
人工智能·chatgpt
net3m335 分钟前
做了一块可以调用百度云语音识别api和tts api的esp32 s3开发板,支持跑ai小智机器人的源码,基于idf5.5.1库编译,分享下
人工智能·机器人·语音识别
Biomamba生信基地5 分钟前
用R语言画生信基地圣诞树~
开发语言·r语言·单细胞·空间转录组·biomamba生信基地
七夜zippoe7 分钟前
AutoGen数据分析智能体实战:让Excel自动说话
人工智能·数据分析·excel·智能体·autogen
冬奇Lab7 分钟前
OpenAI官方Prompt工程六大原则:从入门到精通
人工智能·chatgpt·prompt
Baihai_IDP7 分钟前
靠更换嵌入模型,该产品将 RAG 延迟降低了50%
人工智能·面试·llm
市象9 分钟前
AI手机豆包化,荣耀能否讲出新故事
人工智能
智算菩萨12 分钟前
【Python进阶】数据结构的精巧与算法的智慧:AI提速的关键
开发语言·人工智能·python
@大迁世界12 分钟前
ChatGPT 的应用商店上线啦!
人工智能·chatgpt
雨大王51214 分钟前
工业互联网赋能装备制造智能化:企业如何抓住机遇规避风险
人工智能·机器学习·汽车·制造