Получение коэффициента (0) Уровни: в прогнозировании модели NaiveBayes - PullRequest
0 голосов
/ 24 ноября 2018

Я отношусь к последней строке в примере.Я хотел бы построить NaiveBayes модель за train$TN значение.Это означает, что для всей строки, которую они train$TN = 4 построят NB_TRAIN_model[[1]], для всех строк train$TN = 9 я создам NB_TRAIN_model[[2]] и т. Д. Однако модель должна быть основана на train$Solar.R, train$Wind, train$Temp, train$Month, train$Dayа не на train$TN.Итак, я надеюсь, что я исключил это значение ОК, используя: Ozone ~ . -TN, data = x (см. Последнюю строку):

   library(party)
   library(e1071)
    airq <- subset(airquality, !is.na(Ozone))
    ## split data to train and test
    set.seed(123)
    train_ind <- sample(seq_len(nrow(airq)), size = smp_size)
    train <- airq[train_ind, ]
    test <- airq[-train_ind, ]

    ct <- ctree(Ozone ~ ., data = train,  controls = ctree_control(maxsurrogate = 3))
    train$TN<-factor (ct@where)

## Builds a NB model per each terminal node
NB_TRAIN_model<-lapply(split(train, train$TN), function(x) naiveBayes(Ozone ~ . -TN, data = x))

Теперь я хочу предсказать значения в тесте.Я пытался использовать model[[1]] в первом ряду:

> predict (NB_TRAIN_model[[1]],test[1,2:6],type = "class")

Я получаю:

   factor(0)
    Levels:
...