2015-02-11 4 views
2

В пакете Caret есть вещь, называемая trainControl, которая позволяет нам выполнять многопрофильную проверку. Для выполнения 10-кратная кросс-проверка, можно было бы использоватьtrainControl in cartt package

fitControl <- trainControl(method= "repeatedcv", number = 10, repeats = 10) 
fitJ48_10_fold <- train(x = x, y =y, method = "J48", trControl= fitControl) 

в то время как для обучающего набора, это

fitControl <- trainControl(method= "none") 
fitJ48train <- train(x = x, y =y, method = "J48", trControl= fitControl) 

Однако, спутанность матрица этих модели показывают то же самое и для 10-кратного и обучения ,

Activity <- predict(fitJ48_10_fold, newdata = Train) 
confusionMatrix(Activity, Train$Activity) 

Activity <- predict(fitJ48train, newdata = Train) 
confusionMatrix(Activity, Train$Activity) 

Я использовал графический интерфейс WEKA классификатора и действительно эффективность J48 от 10-кратной поперечной проверки ниже, чем у обучающего набора. Я ошибаюсь, чтобы заподозрить, что trainControl от каретки не работает, или я передаю это неправильно?

+0

Можете ли вы предоставить некоторые воспроизводимые данные? – cdeterman

+0

Да, спасибо за быстрый ответ и сообщество R. Данные могут быть доступны по следующей ссылке. https://github.com/Rnewbie/LikitMorganFP/blob/master/cdetermanrequest.csv [ссылка] (https://github.com/Rnewbie/LikitMorganFP/blob/master/cdetermanrequest.csv) –

ответ

1

Неправильно ли я подозревать, что поездControl от каретки не работает, или я передаю это неправильно?

Немного. Для J48 существует параметр настройки, но сетка по умолчанию подходит только для одного значения C = 0.25. Окончательная модель будет одинаковой независимо от того, какое значение method вы используете в trainControl, поэтому матрицы смешения всегда будут одинаковыми.

Макс.