2014-10-10 57 views
3

嗨,我的名字是Abhi,我正在使用插入符号来构建基于gbm树的模型。但是不是准确,我想用ROC作为我的指标R - 插入 - 在模型训练中使用ROC代替精度

这里是我的代码到目前为止

myTuneGrid <- expand.grid(n.trees = 500,interaction.depth = 11,shrinkage = 0.1) 
fitControl <- trainControl(method = "repeatedcv", number = 7,repeats = 1, verboseIter = FALSE,returnResamp = "all",classProbs = TRUE) 
myModel <- train(Cover_Type ~ .,data = modelData,method = "gbm",trControl = fitControl,tuneGrid = myTuneGrid,metric='roc') 

然而,当我运行此代码,我得到一个警告

Warning message: 
In train.default(x, y, weights = w, ...) : 
The metric "roc" was not in the result set. Accuracy will be used instead. 

如何强迫我的模型使用roc而不是精度。我在这里做错了什么?

+2

在[caret网站](http://topepo.github.io/caret/training.html)上有一些使用gbm模型的脱字符号的示例。乍看之下,我怀疑你的警告信息是由于在trainControl中没有指定'twoClassSummary'作为汇总函数的结果,并且可能不会使'roc'大写'ROC'。 – cdeterman 2014-10-10 20:01:52

+0

将trainControl更改为trainControl(method =“repeatedcv “,number = 7,metric ='roc',summaryFunction = twoClassSummary,repeats = 1,verboseIter = FALSE,returnResamp =”all“,classProbs = TRUE)但是仍然没有运气 – Abhi 2014-10-10 20:36:03

+0

你可以确认你是否可以运行以下[gist ](https://gist.github.com/cdeterman/d0e38a768b1a55d9b900)没有显示警告消息?它只不过是来自脱字符网站的演示文稿,附加网格和匹配参数。最好检查是否安装了'pROC'软件包。 – cdeterman 2014-10-13 12:33:31

回答