我正在使用 mlr 包在 R 中进行机器学习。我正在数据集上使用 cvcoxboost 算法,并想计算输出的 brier 分数。
这应该有效,因为listMeasures(cvcoxboost.tsk)
还列出了测量ibrier
.整个代码如下所示:
cvcoxboost.lrn = makeLearner("surv.cv.CoxBoost")
cvcoxboost.tsk = makeSurvTask(data = data, target = c("time", "event"))
cvcoxboost.mod = train(cvcoxboost.lrn, cvcoxboost.tsk, subset = data.train)
cvcoxboost.tsk.pred = predict(cvcoxboost.mod, task = cvcoxboost.tsk, subset = data.test)
listMeasures(cvcoxboost.tsk) # "iauc.uno" "featperc" "ibrier" "timeboth" "timetrain" "timepredict" "cindex.uno" "cindex"
performance(cvcoxboost.tsk.pred, measures = mlr::cindex)
performance(cvcoxboost.tsk.pred, measures = cindex.uno, model = cvcoxboost.mod, task = cvcoxboost.tsk)
performance(cvcoxboost.tsk.pred, measures = mlr::ibrier, model = cvcoxboost.mod, task = cvcoxboost.tsk)
。我收到错误No method for evaluating predicted probabilities from objects in class: CoxBoost
.
> ibrier 仅适用于 pec 包支持的某些学习者,如 randomForestSRC 或 cox。这目前还没有很好的文档记录,但您可以查看 pec 包以查看支持哪些模型。