SuperAPI AI 工具集

scikit-survival

数据与分析

查看项目

更新于 10-15 23:46

技能介绍

用途:scikit-survival 是面向 Python 的生存分析(time-to-event)库,基于 scikit-learn 构建,用于建立协变量与事件发生时间之间的关系,并处理删失数据(尤其是观察期内未发生事件的右删失记录)。适用于需要生存分析、删失数据处理、生存模型评估或竞争风险分析的场景。

主要能力:提供多类模型,包括 Cox 比例风险模型(CoxPHSurvivalAnalysis、带弹性网惩罚的 CoxnetSurvivalAnalysis、IPCRidge)、集成方法(RandomSurvivalForest、GradientBoostingSurvivalAnalysis、ComponentwiseGradientBoostingSurvivalAnalysis、ExtraSurvivalTrees)、生存支持向量机(FastSurvivalSVM、FastKernelSurvivalSVM、HingeLossSurvivalSVM、ClinicalKernelTransform),以及 SurvivalTree。评价指标包括 Harrell 与 Uno 一致性指数(concordance_index_censored、concordance_index_ipcw)、时间依赖 AUC(cumulative_dynamic_auc)、Brier 分数与积分 Brier 分数(brier_score、integrated_brier_score),并提供交叉验证用评分器。非参数估计支持 Kaplan-Meier、Nelson-Aalen 与竞争风险累积发生率(cumulative_incidence_competing_risks)。数据准备通过 sksurv.util.Surv 构造生存结局,sksurv.preprocessing 提供 OneHotEncoder、encode_categorical,sksurv.datasets 内置 GBSG2、WHAS500、乳腺癌、退伍军人肺癌等数据集。

使用方式:与 scikit-learn 生态集成,可用 Pipeline、cross_val_score、GridSearchCV。典型流程为:加载数据并用 Surv.from_arrays 或 Surv.from_dataframe 构造结局;对 SVM 和正则化 Cox 模型标准化特征;拟合模型并预测风险分数;用 concordance_index_ipcw 等指标评估。例如:from sksurv.util import Surv;y = Surv.from_arrays(event=event_array, time=time_array)。交叉验证可配合 as_concordance_index_ipcw_scorer()。

适用场景:临床与生物医学时间到事件建模、高维特征选择、非线性关系预测、竞争风险分析,以及需要多种指标比较模型性能的研究。

限制与注意:删失率高于 40% 时建议使用 Uno 的 C-index 而非 Harrell 的;SVM 与正则化 Cox 需标准化特征;concordance_index_ipcw 需传入 y_train;竞争事件不应简单当作删失处理;随机生存森林建议使用置换重要性;需检查比例风险假设。资料未提供该技能的收费、价格或安装命令信息。