[ PROMPT_NODE_27374 ]
evaluation-metrics
[ SKILL_DOCUMENTATION ]
# 生存模型评估指标
## 概述
评估生存模型需要专门的指标来处理删失数据。scikit-survival 提供了三大类指标:
1. 一致性指数 (C-index)
2. 时间依赖性 ROC 和 AUC
3. Brier 分数
## 一致性指数 (C-index)
### 测量内容
一致性指数衡量预测风险评分与观测事件时间之间的秩相关性。它代表了对于随机一对受试者,模型正确排序其生存时间的概率。
**范围**:0 到 1
- 0.5 = 随机预测
- 1.0 = 完全一致
- 典型的良好表现:0.7-0.8
### 两种实现方式
#### Harrell's C-index (concordance_index_censored)
传统的估计器,更简单但有局限性。
**适用场景:**
- 低删失率 ( 40%)
- 需要无偏估计
- 跨不同数据集比较模型
- 发布结果(更稳健)
**优势:**
- 即使在高删失率下也保持稳定
- 更可靠的估计
- 偏差更小
python
from sksurv.metrics import concordance_index_ipcw
# 计算 Uno's C-index
# 需要训练数据进行 IPCW 计算
c_index, concordant, discordant, tied_risk = concordance_index_ipcw(
y_train, y_test, risk_scores
)
print(f"Uno's C-index: {c_index:.3f}")
### 如何选择 Harrell's 和 Uno's
**在以下情况使用 Uno's C-index:**
- 删失率 > 40%
- 需要最准确的估计
- 比较来自不同研究的模型
- 发表研究成果
**在以下情况使用 Harrell's C-index:**
- 低删失率
- 开发过程中的快速模型比较
- 计算效率至关重要
### 比较示例
python
from sksurv.metrics import concordance_index_censored, concordance_index_ipcw
# Harrell's C-index
harrell = concordance_index_censored(y_test['e