scikit-survival v0.24.0发布:新增竞争风险分析与缺失值支持
scikit-survival是一个基于scikit-learn的Python生存分析库,它扩展了scikit-learn的功能,专门用于处理包含时间到事件数据(生存数据)的机器学习任务。生存分析在医学研究、工业设备故障预测、客户流失分析等领域有着广泛应用。
主要更新内容
竞争风险分析功能
本次v0.24.0版本最重要的新增功能是竞争风险分析支持。在生存分析中,竞争风险指的是研究对象可能经历多种不同类型的事件,而这些事件会相互"竞争"导致其他事件无法发生。
新版本引入了sksurv.nonparametric.cumulative_incidence_competing_risks()函数,这是一个非参数估计器,用于计算竞争风险情况下的累积发生率函数(CIF)。这个函数能够更准确地估计在存在多种竞争事件时,特定类型事件的发生概率。
为了便于用户学习和使用这一功能,项目还新增了两个包含竞争风险数据的示例数据集:
load_bmt():骨髓移植数据load_cgvhd():慢性移植物抗宿主病数据
缺失值支持增强
在机器学习模型方面,ExtraSurvivalTrees现在支持缺失值处理,这是通过升级到scikit-learn 1.6.1实现的。这个增强使得模型能够更好地处理现实世界中常见的不完整数据。
随机生存森林改进
随机生存森林模型(RandomSurvivalForest和ExtraSurvivalTrees)新增了estimators_samples_属性,允许用户查看每个基学习器使用的样本子集,这对于模型解释和调试非常有帮助。
同时修复了一个参数校验问题:当bootstrap=False但设置了max_sample参数时,现在会正确报错而不是忽略这个不一致的参数组合。
技术细节优化
在底层实现上,项目进行了多项技术优化:
- 修正了Windows平台上C++代码中的类型不一致问题,将
n_alphas的类型从int改为与Eigen库一致的VectorType::Index - 改进了版本信息显示功能,修复了Python版本打印问题
- 全面升级到Python 3.10语法,放弃了旧版本Python的支持
- 测试环境升级到Python 3.12、matplotlib 3.9和seaborn 0.13
向后兼容性说明
需要注意的是,这个版本放弃了对scikit-learn 1.6.1之前版本的支持,同时也停止了对Python 3.10之前版本的支持。用户在升级时需要确保环境满足这些依赖要求。
应用价值
这些更新使得scikit-survival在以下场景中更具优势:
- 医学研究中需要分析多种可能结局(如疾病复发、死亡等)的竞争风险情况
- 工业领域需要处理带有缺失值的设备故障数据
- 需要更深入理解随机生存森林模型内部工作机制的研究场景
对于从事生存分析的研究人员和数据科学家来说,这个版本提供了更强大的工具来处理现实世界中复杂的生存数据分析问题。特别是竞争风险分析功能的加入,填补了之前版本在这方面的空白,使得分析结果更加准确可靠。
atomcodeClaude Code 的开源替代方案。连接任意大模型,编辑代码,运行命令,自动验证 — 全自动执行。用 Rust 构建,极致性能。 | An open-source alternative to Claude Code. Connect any LLM, edit code, run commands, and verify changes — autonomously. Built in Rust for speed. Get StartedRust0138- DDeepSeek-V4-ProDeepSeek-V4-Pro(总参数 1.6 万亿,激活 49B)面向复杂推理和高级编程任务,在代码竞赛、数学推理、Agent 工作流等场景表现优异,性能接近国际前沿闭源模型。Python00
GLM-5.1GLM-5.1是智谱迄今最智能的旗舰模型,也是目前全球最强的开源模型。GLM-5.1大大提高了代码能力,在完成长程任务方面提升尤为显著。和此前分钟级交互的模型不同,它能够在一次任务中独立、持续工作超过8小时,期间自主规划、执行、自我进化,最终交付完整的工程级成果。Jinja00
MiniCPM-V-4.6这是 MiniCPM-V 系列有史以来效率与性能平衡最佳的模型。它以仅 1.3B 的参数规模,实现了性能与效率的双重突破,在全球同尺寸模型中登顶,全面超越了阿里 Qwen3.5-0.8B 与谷歌 Gemma4-E2B-it。Jinja00
MiniMax-M2.7MiniMax-M2.7 是我们首个深度参与自身进化过程的模型。M2.7 具备构建复杂智能体应用框架的能力,能够借助智能体团队、复杂技能以及动态工具搜索,完成高度精细的生产力任务。Python00
MusicFreeDesktop插件化、定制化、无广告的免费音乐播放器TypeScript00