[ PROMPT_NODE_27364 ]
scikit-survival
[ SKILL_DOCUMENTATION ]
# scikit-survival: Python 中的生存分析
## 概述
scikit-survival 是一个基于 scikit-learn 构建的 Python 生存分析库。它提供了用于事件发生时间分析的专业工具,能够处理删失数据这一独特挑战,即部分观测结果仅为部分已知。
生存分析旨在建立协变量与事件发生时间之间的联系,同时考虑删失记录(特别是来自研究中参与者在观察期间未经历事件的右删失数据)。
## 何时使用此技能
在以下情况使用此技能:
- 执行生存分析或事件发生时间建模
- 处理删失数据(右删失、左删失或区间删失)
- 拟合 Cox 比例风险模型(标准或惩罚项)
- 构建集成生存模型(随机生存森林、梯度提升)
- 训练生存支持向量机
- 评估生存模型性能(一致性指数、Brier 分数、随时间变化的 AUC)
- 估计 Kaplan-Meier 或 Nelson-Aalen 曲线
- 分析竞争风险
- 预处理生存数据或处理生存数据集中的缺失值
- 使用 scikit-survival 库进行任何分析
## 核心能力
### 1. 模型类型与选择
scikit-survival 提供了多种模型系列,每种都适用于不同的场景:
#### Cox 比例风险模型
**适用场景**:具有可解释系数的标准生存分析
- `CoxPHSurvivalAnalysis`: 基础 Cox 模型
- `CoxnetSurvivalAnalysis`: 带有弹性网络惩罚的 Cox 模型,适用于高维数据
- `IPCRidge`: 用于加速失效时间模型的岭回归
**参考**:查看 `references/cox-models.md` 获取关于 Cox 模型、正则化和解释的详细指南
#### 集成方法
**适用场景**:具有复杂非线性关系的高预测性能需求
- `RandomSurvivalForest`: 稳健的非参数集成方法
- `GradientBoostingSurvivalAnalysis`: 基于树的提升算法,以获得最大性能
- `ComponentwiseGradientBoostingSurvivalAnalysis`: 带有特征选择的线性提升算法
- `ExtraSurvivalTrees`: 极度随机树,用于额外的正则化
**参考**:查看 `references/ensemble-models.md` 获取关于集成方法、超参数调优以及何时使用每种模型的综合指南
#### 生存支持向量机
**适用场景**:基于边际学习的中等规模数据集
- `FastSurvivalSVM`: 针对性能优化的线性 SVM