SuperAPI AI 工具集

scikit-survival

编程与开发

查看项目

更新于 10-15 22:39

技能介绍

scikit-survival 是基于 scikit-learn 的 Python 生存分析库,用于时间-事件建模并处理删失数据(含右删失、左删失与区间删失)。适用任务包括:拟合 Cox 比例风险模型(标准或惩罚)、构建随机生存森林与梯度提升等集成模型、训练生存支持向量机、估计 Kaplan-Meier 与 Nelson-Aalen 曲线、分析竞争风险、预处理生存数据与缺失值处理。

主要能力:线性模型 CoxPHSurvivalAnalysis、CoxnetSurvivalAnalysis、IPCRidge;集成方法 RandomSurvivalForest、GradientBoostingSurvivalAnalysis、ComponentwiseGradientBoostingSurvivalAnalysis、ExtraSurvivalTrees;SVM 有 FastSurvivalSVM、FastKernelSurvivalSVM、HingeLossSurvivalSVM、ClinicalKernelTransform;评估指标含 concordance_index_censored(Harrell)、concordance_index_ipcw(Uno)、cumulative_dynamic_auc、brier_score、integrated_brier_score 及对应 scorer;非参数估计用 kaplan_meier_estimator、nelson_aalen_estimator、cumulative_incidence_competing_risks。数据准备可用 sksurv.util.Surv 构造结果,OneHotEncoder 编码类别变量,并可与 sklearn 的 Pipeline、GridSearchCV、cross_val_score 配合。

使用方式:先构造 y = Surv.from_arrays(event=..., time=...) 或 Surv.from_dataframe('event','time',df),再按需标准化特征、划分训练测试集,拟合模型后用模型 predict 得到风险分数并评估。示例导入:from sksurv.linear_model import CoxPHSurvivalAnalysis;from sksurv.ensemble import RandomSurvivalForest;from sksurv.metrics import concordance_index_ipcw。

限制与注意:高删失率(>40%)建议用 Uno 的 C-index;SVM 与正则化 Cox 需标准化特征;concordance_index_ipcw 需传入 y_train;竞争事件不应直接当删失处理;每特征建议有 10 个以上事件;随机生存森林应使用置换重要性而非内置重要性;需检查比例风险假设。具体收费、价格与平台信息暂未提供。