我正在使用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软件包,以了解支持哪些模型。

10-08 03:10