【工具】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
相关推荐
帐篷Li1 天前
AI物联网自进化平台:让智能家居真正“智能“起来
人工智能·物联网·智能家居
nap-joker1 天前
图神经网络与多模态DTI特征用于精神分裂症分类:来自脑网络分析与基因表达的洞见
人工智能·神经网络·分类·图卷积神经网络·图注意力机制·单分支、双分支图卷积网络
大刘讲IT1 天前
数字化转型的认知博弈与管理重构
人工智能·经验分享·制造
another heaven1 天前
【深度学习 超参调优】warmup
人工智能·深度学习
QYR_Jodie1 天前
从环保政策驱动与贵金属回收需求驱动到稳健增长:全球硫代硫酸铵2026-2032年CAGR4.8%,2032年达6.93亿美元
大数据·人工智能·市场报告
万兴丶1 天前
Unity 用AI自动开发游戏近一年----最新Cursor使用心得
人工智能·游戏·unity·cursor
dddaidai1231 天前
Spring AI Alibaba(二)Hooks 和Interceptors
java·人工智能·spring
badhope1 天前
2026年零基础打造专属AI机器人:从GitHub开源项目到个人智能助手,完整实战指南
人工智能·python·深度学习·计算机视觉·数据挖掘·github·语音识别
人工干智能1 天前
科普:神经网络输入层shape与训练集x_train的shape
人工智能·深度学习·神经网络
东方不败之鸭梨的测试笔记1 天前
AI生成测试用例,哪些因素会影响生成用例的质量?
人工智能·测试用例