scikit-survival

基于scikit-survival的Python生存分析与事件时间建模综合工具包。适用于处理删失生存数据、执行事件时间分析、拟合Cox比例风险模型、随机生存森林、梯度提升模型或生存支持向量机,使用一致性指数或Brier评分评估生存预测,处理竞争风险,以及通过scikit-survival库实现任何生存分析工作流程。

安装

热度:9

下载并解压到你的 skills 目录

复制命令,发送给 OpenClaw 自动安装:

下载并安装这个技能 https://openskills.cc/api/download?slug=k-dense-ai-scientific-skills-scikit-survival&locale=zh&source=copy

scikit-survival:Python 生存分析完整工具包

技能概述

scikit-survival 是专为 Python 生存分析设计的综合工具包,提供从数据预处理到模型评估的完整生存分析工作流,支持 Cox 模型、随机生存森林、梯度提升和生存 SVM 等多种算法。

适用场景

1. 医学与生物医学研究

处理临床试验数据、患者生存时间分析、疾病预后建模。支持右删失、左删失和区间删失数据,适合肿瘤研究、心血管疾病研究等需要时间到事件分析的场景。

2. 高维特征选择与建模

当特征数量超过样本量时,使用 CoxnetSurvivalAnalysis(弹性网络正则化)进行特征选择和降维,适合基因表达数据分析、分子标志物筛选等场景。

3. 复杂非线性关系建模

使用随机生存森林(RSF)或梯度提升生存分析(GBSA)捕捉特征与生存时间之间的复杂非线性关系,适合追求最高预测性能的场景。

核心功能

1. 多样化的生存模型

提供 Cox 比例风险模型(含正则化版本)、随机生存森林、梯度提升生存分析、生存支持向量机等多种算法,覆盖从可解释性建模到高性能预测的各类需求。

2. 专业的评估指标

内置一致性指数(C-index,支持 Harrell 和 Uno 变体)、时间依赖 AUC、Brier 分数等生存分析专用评估指标,确保模型评估的科学性和准确性。

3. 竞争风险与非参数估计

支持累积发生率函数(CIF)用于竞争风险分析,提供 Kaplan-Meier 和 Nelson-Aalen 非参数估计器,满足多样化的生存分析需求。

常见问题

scikit-survival 适合什么水平的用户使用?

适合具备基础 Python 和 pandas/numpy 经验的用户。如果你已经熟悉 scikit-learn 的 API 风格,scikit-survival 的学习曲线会非常平缓。技能内置了从入门到高级的完整文档,包括 Cox 模型、集成方法、SVM 等各类模型的详细参考。

如何选择合适的生存模型?

如果需要可解释性,选择 CoxPHSurvivalAnalysis;如果数据高维(特征数 > 样本数),选择 CoxnetSurvivalAnalysis;如果追求最高预测性能且样本量充足,选择 GradientBoostingSurvivalAnalysis 或 RandomSurvivalForest;中等规模数据集可考虑 FastSurvivalSVM。

删失数据如何处理?

scikit-survival 使用结构化数组表示生存结果,通过 sksurv.util.Surv 创建。右删失是最常见的情况,模型会自动处理。高删失率(>40%)时建议使用 Uno's C-index 而非 Harrell's C-index 进行评估,以获得更稳健的结果。