python - 生存分析:concordance_index_censored 的参数(scikit-survival)
问题描述
我想使用我训练的模型在我的测试集上实现 concordance_index_censored。我不明白哪个应该是我estimate
对concordance_index_censored()
.
它在coxnet_pred的某个地方吗?如果没有,我应该从哪里得到它?我试过coxnet_pred['array']但这不起作用,因为它包含步进函数。
代码如下
from sksurv.linear_model import CoxnetSurvivalAnalysis
from sksurv.metrics import concordance_index_censored
from sksurv.util import Surv
y=Surv.from_arrays(np.array(survival_status_training), np.array(survival_time_training), name_event="event",name_time ="time")
cox_lasso_model = CoxnetSurvivalAnalysis(l1_ratio=1.0, fit_baseline_model=True)
cox_lasso_trained = cox_lasso_model.fit(training_data, y)
coxnet_pred=cox_lasso_trained.predict_survival_function(np.array(test_data))
training_cindex = concordance_index_censored(event_indicator=np.array(survival_status_training),event_time=np.array(survival_time_training), estimate=coxnet_pred['array'])
解决方案
estimate
参数 for应该是一个数组,concordance_index_censored
在您的测试数据中每个实例都有一个风险评分:
from sksurv.linear_model import CoxnetSurvivalAnalysis
from sksurv.metrics import concordance_index_censored
from sksurv.util import Surv
train_y = Surv.from_arrays(
survival_status_training,
survival_time_training
)
test_y = Surv.from_arrays(
survival_status_test,
survival_time_test
)
model = CoxnetSurvivalAnalysis()
model.fit(train_X, train_y)
test_risk_scores = model.predict(test_X)
cindex = concordance_index_censored(
event_indicator=test_y["event"],
event_time=test_y["time"],
estimate=test_risk_scores)
或者,您可以model.score(test_X, test_y)
按照
用户指南中的说明使用。
推荐阅读
- javascript - 将我的 Chrome 扩展程序中的表单数据写入 Google 表格
- python - Pandas Dataframe 多索引
- scala - Scala 等价于 Java 的 Number 和 divide 方法
- kotlin - Kotlin DSL - 联合结构
- isabelle - 如何使用 fmmap_keys 定义函数的终止顺序?
- elasticsearch - 如何在 ES 6.4 中使用新的 Java Api 重新索引?
- angular - Angular——今天的日期和从 API 返回的日期之间的差异
- firebase - 确保 Firebase 托管链接只能从特定 IP 访问
- python - linux - 信号未传递给多命令
- 3d - 如何找出定向边界框的旋转矩阵