Ошибка при использовании пакета каретки R (поезд) с деревом решений C5.0 для перекрестной проверки в K-кратном порядке - PullRequest
1 голос
/ 07 апреля 2020

СЕЙЧАС РЕШЕНО. Проблема была в data = OneT .train, что было неправильно. Этот код был скопирован с оригинала. Это должно быть data = OneT в функции caret train (). В текущем OneT .train имелись пропущенные значения в поле атрибута, а не в цели, из-за перезагрузки и разделения данных, что пропустило заполнение пропущенных значений - которое никогда не использовалось.


I ' m пытается использовать пакет caret для повторной перекрестной проверки в k-кратном порядке с деревьями решений C5.0.

Следующий код создает работающее дерево решений C5.0 (точность 68% на матрице путаницы):

> model <- C5.0(as.factor(OneGM) ~., data=OneT.train)  
> results <- predict(object=model, newdata=OneT.test, type="class")

Код пакета каретки дает следующие ошибки (нет пропущенных значений):

> train_control <- trainControl(method="repeatedcv", number=10, repeats=10)  
> model <- train(as.factor(OneGM) ~., data=OneT.train, trControl=train_control, method="C5.0")  
Error in na.fail.default(list(`as.factor(OneGM)` = c(1L, 1L, 1L, 1L,  : missing values in object  
> model <- train(OneGM ~., data=OneT.train, trControl=train_control, method="C5.0")  
Error in na.fail.default(list(OneGM = c(FALSE, FALSE, FALSE, FALSE,  : missing values in object  

Данные загружаются из файла .csv, и OneGM имеет значение TRUE или FALSE (a текстовый столбец в .csv) - и в нем нет пропущенных значений.

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

Отсутствуют пропущенные значения (OneT [is.na (OneT)] <- 0). Вот пример данных: </p>

27255   0.259   0.333737266 0.308428966 0   0.017311609 TRUE  
37630   0.258   0.244679265 0.490752807 0   0.024630542 TRUE  
174019  0.143   0.343331217 0.439601992 0.005839996 0.075093867 TRUE  
97817   0.229   0.352818839 0.430965134 0   0.044375645 FALSE  
1293189 0.158   0.248084815 0.620642943 0.007529383 0.081914031 FALSE  
19652   0.259   0.17180665  0.176233943 0   0.02372035  TRUE  
141966  0.13    0.41610721  0.546760618 0.014796511 0.052060738 FALSE  
48990   0.225   0.061461912 0.56626295  0.019634793 0.062931034 TRUE  

Спасибо за любую помощь.

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