SuperAPI AI 工具集

scikit-survival

数据与分析

查看项目

更新于 10-16 05:05

技能介绍

用途:scikit-survival 是构建在 scikit-learn 之上的 Python 生存分析库,用于建立协变量与事件发生时间之间的关系,并处理删失数据(如右删失)。适用任务包括生存分析与时间-事件建模、拟合 Cox 比例风险模型(含惩罚 Cox)、集成生存模型(随机生存森林、梯度提升)、生存支持向量机、竞争风险分析、Kaplan-Meier 与 Nelson-Aalen 曲线估计、生存数据预处理与缺失值处理,以及模型性能评估。

主要能力:模型方面提供 CoxPHSurvivalAnalysis、CoxnetSurvivalAnalysis、IPCRidge,集成方法 RandomSurvivalForest、GradientBoostingSurvivalAnalysis、ComponentwiseGradientBoostingSurvivalAnalysis、ExtraSurvivalTrees,SVM 类 FastSurvivalSVM、FastKernelSurvivalSVM、HingeLossSurvivalSVM、ClinicalKernelTransform。评估指标包括 Harrell 与 Uno 一致性指数(concordance_index_censored、concordance_index_ipcw)、时间依赖 AUC(cumulative_dynamic_auc)、Brier 分数(brier_score、integrated_brier_score)及 scorer 包装器。非参数估计有 kaplan_meier_estimator、nelson_aalen_estimator、cumulative_incidence_competing_risks。数据层提供 Surv.from_arrays / from_dataframe、OneHotEncoder、encode_categorical 及内置数据集(load_gbsg2、load_breast_cancer、load_veterans_lung_cancer)。

使用方式:用 Surv 构造生存结果,进行缺失值插补、类别编码与标准化,再 fit 模型并 predict 风险分数;可与 scikit-learn 的 Pipeline、cross_val_score、GridSearchCV 集成,交叉验证时使用 as_concordance_index_ipcw_scorer() 等 scorer。示例导入:from sksurv.linear_model import CoxPHSurvivalAnalysis。

限制与注意:SVM 与正则化 Cox 需标准化特征;删失率高于约 40% 时建议用 Uno 的 C-index 而非 Harrell;concordance_index_ipcw 需传入 y_train;竞争事件不应简单当作删失;每特征建议至少约 10 个事件;随机生存森林应使用置换重要性而非内置重要性;需检查 Cox 比例风险假设。官方文档 https://scikit-survival.readthedocs.io/ ,仓库 https://github.com/sebp/scikit-survival 。