用途:scikit-survival 是构建在 scikit-learn 之上的 Python 生存分析库,用于处理右删失的时间到事件数据,适用于临床试验、可靠性分析等场景。其模型遵循 fit/predict 接口,可接入 Pipeline、交叉验证与 GridSearchCV。
主要能力:
- 数据准备:用 sksurv.util.Surv 构建 (event, time) 结构化数组,支持类别编码、标准化,并可加载 gbsg2、breast_cancer 等内置数据集及 ARFF 格式。
- Cox 模型:CoxPHSurvivalAnalysis 提供可解释的对数风险比;CoxnetSurvivalAnalysis 支持弹性网惩罚,适用于高维数据与特征选择;IPCRidge 为加速失效时间模型。
- 集成方法:RandomSurvivalForest、GradientBoostingSurvivalAnalysis、ComponentwiseGradientBoostingSurvivalAnalysis、ExtraSurvivalTrees。
- 生存 SVM:FastSurvivalSVM、FastKernelSurvivalSVM 等,使用前需标准化特征。
- 非参数估计:kaplan_meier_estimator、nelson_aalen_estimator 估计生存曲线与累积风险。
- 评估指标:concordance_index_censored(Harrell)、concordance_index_ipcw(Uno)、cumulative_dynamic_auc、brier_score、integrated_brier_score 等删失感知指标。
- 竞争风险:cumulative_incidence_competing_risks 估计累积发生函数,并可对各事件类型分别拟合 Cox 模型。
使用方式:安装命令 pip install scikit-survival scikit-learn pandas numpy matplotlib,要求 Python >= 3.9。核心流程为加载数据、构建生存数组、预处理、拟合模型、预测风险分数与个体生存曲线、并用 C-index 与 Brier 评分评估。
限制:主要处理右删失,左删失与区间删失需其他工具;C-index 只度量排序能力,需与 Brier 结合;高删失率下应优先使用 Uno 的 C-index;参数化模型与 log-rank 检验建议用 lifelines,深度学习生存模型建议用 pycox 或 torchlife。
暂未提供的细节:本资料未给出具体收费信息、性能基准与完整超参数列表。