Проблема машинного обучения в r: функция предсказания возвращает ошибку (объект «активный» не найден) [дубликат]

Я бы сказал, что нет портативного и 100% надежного способа из-за зависания alias. Например:

alias john='ls --color'
alias paul='george -F'
alias george='ls -h'
alias ringo=/

Конечно, только последний является проблематичным (без обид на Ringo!) Но все они действительны alias es с точки зрения command -v.

Чтобы отклонить оборванные, такие как ringo, мы должны проанализировать вывод встроенной команды alias оболочки и рекурсии в них (command -v здесь не превосходит alias.)

Обратите внимание, что подобное решение безоговорочно отвергает alias ls='ls -F'

test() { command -v $1 | grep -qv alias }
14
задан Roman Luštrik 3 April 2016 в 09:50
поделиться

4 ответа

Не знаю, почему @Janos удалил свой ответ, но это правильно: в вашем фрейме данных Train нет столбца с именем pre. Когда вы передаете формулу и кадр данных в функцию установки модели, имена в формуле должны ссылаться на столбцы в фрейме данных. В вашем Train есть столбцы, называемые residual.sugar, total.sulfur, alcohol и quality. Вам нужно изменить формулу или фрейм данных, чтобы они были согласованы друг с другом.

И просто для уточнения: Pre - это объект, содержащий формулу. Эта формула содержит ссылку на переменную pre. Это последнее должно быть согласовано с кадром данных.

16
ответ дан Hong Ooi 1 September 2018 в 01:26
поделиться

Чтобы добавить к этому; Это может произойти, если вы не приложите свой набор данных. Просто потратил полчаса, выяснив это также.

Cheers

6
ответ дан betsie_river_special 1 September 2018 в 01:26
поделиться

Я думаю, что получил то, что искал.

data.train <- read.table("Assign2.WineComplete.csv",sep=",",header=T)
fit <- rpart(quality ~ ., method="class",data=data.train)
plot(fit)
text(fit, use.n=TRUE)
summary(fit)
1
ответ дан Rads 1 September 2018 в 01:26
поделиться

Я использую colname (train) = paste («A», colname (train)), и он оказывается с той же проблемой, что и ваш.

Наконец, я выяснил, что randomForest более скупо, чем rpart , он не может распознать colname с пробелом, запятой или другой определенной пунктуацией.

Функция

paste добавит «A» и «» в качестве разделителя с каждым colname. поэтому нам нужно отменить это пространство и использовать это предложение:

colname(train) = paste("A", colname(train), sep = "")

это добавит строку без пробела.

0
ответ дан ZHENKAI 1 September 2018 в 01:26
поделиться
Другие вопросы по тегам:

Похожие вопросы: