2014-10-10 106 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

回答