На основе исходного кода для deepboost модель не может предсказать вероятности и не имеет метода varimp. Посмотрите различия в элементах списка моделей по сравнению с gl mnet исходным кодом , например, который может делать эти вещи.
РЕДАКТИРОВАТЬ: Чтобы модель DeepBoost предсказывала вероятности, вам нужно изменить исходный код:
создать:
deepboost_prob <- list(label = "DeepBoost",
library = "deepboost",....
, куда вы скопируете весь исходный код: https://github.com/topepo/caret/blob/master/models/files/deepboost.R
Добавьте пробный слот:
deepboost_prob$prob <- function(modelFit, newdata, submodels = NULL) {
if(!is.data.frame(newdata))
newdata <- as.data.frame(newdata, stringsAsFactors = TRUE)
probs <- deepboost:::predict(modelFit, newdata, type = "response")
probs <- as.data.frame(probs, stringsAsFactors = FALSE)
colnames(probs) <- modelFit@classes
probs
}
проверьте, работает ли он:
library(mlbench)
library(caret)
data(Sonar)
trainControl <- trainControl(method = "cv",
number = 5,
savePredictions = TRUE,
classProbs = TRUE)
set.seed(7)
fit.dpb <- train(x = Sonar[1:150,1:60],
y = Sonar$Class[1:150],
method = deepboost_prob,
trControl = trainControl,
tuneLength = 1)
Warning messages:
1: In model.matrix.default(mt, mf, contrasts) :
non-list contrasts argument ignored
2: In model.matrix.default(mt, mf, contrasts) :
non-list contrasts argument ignored
3: In model.matrix.default(mt, mf, contrasts) :
non-list contrasts argument ignored
4: In model.matrix.default(mt, mf, contrasts) :
non-list contrasts argument ignored
5: In model.matrix.default(mt, mf, contrasts) :
non-list contrasts argument ignored
6: In model.matrix.default(mt, mf, contrasts) :
non-list contrasts argument ignored
Я получаю предупреждения с оригинальным deepboost реализация также
predict(fit.dpb, Sonar[200:208,1:60], type = "prob")
M R
1 0.3721210 0.6278790
2 0.4087576 0.5912424
3 0.3700643 0.6299357
4 0.3656457 0.6343543
5 0.5232370 0.4767630
6 0.2439648 0.7560352
7 0.3687249 0.6312751
8 0.2679716 0.7320284
9 0.3292782 0.6707218