Caret / CaretEnsemble: неправильный тип модели для регрессии - PullRequest
0 голосов
/ 30 ноября 2018

Я пытаюсь создать ансамбль алгоритмов машинного обучения, первый из которых использует алгоритмы повышения, а второй - алгоритмы суммирования.Когда я пытаюсь создать свою модель, я получаю следующую ошибку:

Error: wrong model type for regression

Вот мой код:

library(mlbench)
library(caret)
library(caretEnsemble)

#Remove Null Values
Data <- Data[complete.cases(Data), ]    

control <- trainControl(method="repeatedcv", number=10, repeats=3, 
savePredictions=TRUE, classProbs=TRUE)
algorithmList <- c('lda', 'rpart', 'glm', 'knn', 'svmRadial')
set.seed(seed)
models <- caretList(Setup~Age+Balance+Dcny2Rcvd+PCA, 
data=data, trControl=control, methodList=algorithmList)
results <- resamples(models)
summary(results)
dotplot(results)

Вот пример моих данных:

Number    Setup      R         D2R     A        B       PCA   
123        1        381        6618    25      2500      2
124        0        200        100     30      3500      1
125        0        100        62      18      4000      1
126        1        202        75      21      1000      5
127        0        95         60      22      387       4

Вопрос: Почему я получаю эту ошибку?

Я также получил такую ​​же ошибку для следующего:

fit.c50 <- train(Setup~A+B+D2R+PCA+R, data=Data, trControl=control)

Ответы [ 2 ]

0 голосов
/ 03 декабря 2018

Если вы хотите провести классификацию с caret, ваш результат Setup должен быть факторной переменной.Поскольку это число, оно думает, что вы пытаетесь выполнить регрессию с помощью моделей классификации.

0 голосов
/ 30 ноября 2018

lda означает линейный дискриминантный анализ, согласно странице доступных моделей *1003* в документах по каретам. Дискриминантный анализ предназначен для классификации, а не регрессии.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...