2016-04-15 3 views
1

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

Вот ссылка на мои данные поезда: http://www.htmldersleri.org/train.csv (Хорошо известно Reuters-21570 набор данных)

И команда, я использую это:

model<-train(class~.,data=train,method="knn") 

Примечание: для любого другого метод (например: svm, наивные заливы и т. д.), все равно.

Примечание 2: Для пакета e1071 наивный классификатор байкеров работает, но с точностью 0,08%!

Может ли кто-нибудь сказать мне, в чем может быть проблема? Заранее спасибо.

ответ

0

Это, кажется, проблема классификации многоклассов. Я не уверен, поддерживает ли это caret. Тем не менее, я могу показать вам, как вы могли бы сделать то же самое с mlr пакет

library(mlr) 
x <- read.csv("http://www.htmldersleri.org/train.csv") 
tsk <- makeClassifTask(data = x, target = 'class') 
#Assess the performane with 10-fold cross-validation 
crossval('classif.knn', tsk) 

Если вы хотите знать, какие ученики интегрированы в СКЛ, которые поддерживают этот вид задачи, тип listLearners(tsk)

+0

Здесь «tsk» - моя модель, не так ли? Как я могу применить эту модель к данным теста? pred() не работает ... – Whcrs

+0

Нет, 'tsk' не является моделью. Это определение задачи прогнозирования. В моем примере обучение и тестирование модели выполняется за один шаг, используя функцию «crossval». Если вы хотите отделить эти два шага, я бы рекомендовал прочитать учебник «mlr»: https://mlr-org.github.io/mlr-tutorial/release/html/ –

Смежные вопросы