我正在寻找一个python/sklearn/lifelines/任何Harrell's c-index
(一致性索引)的实现,这在随机生存森林中提到过。
C指数采用以下步骤计算:
- 在数据上形成所有可能的个案对。
- 省略那些生存时间较短的对被审查。如果
Ti=Tj
,省略对 i 和 j,除非至少有一个是死亡。让我们Permissible
表示允许的对总数。 - 对于
Ti
和Tj
不相等的每个允许对,如果生存时间较短,则计数 1时间的预测结果更差;如果预测结果相同,则计数 0.5。对于每个允许的对,其中Ti=Tj
和两个都是死亡,如果预测结果相同,则计数 1;否则,计数 0.5。对于每个允许的对其中Ti=Tj
,但不是两者都是死亡,如果死亡有更差的预测结果;否则,计数 0.5。让索引表示所有允许对的总和。 - C 指数
C
由C=Concordance/Permissible
定义。
注意:nltk
有一个具有不同含义的ConcordanceIndex
方法:(
LifeLines软件包现在实现了这个c索引或一致性索引
LifeLine 包可以实现一致性索引。
pip install lifelines
或
conda install -c conda-forge lifelines
例:
from lifelines.utils import concordance_index
cph = CoxPHFitter().fit(df, 'T', 'E')
concordance_index(df['T'], -cph.predict_partial_hazard(df), df['E'])