1

我在尝试解决 R 中的多项分类方程时遇到了很多麻烦。我正在使用 nnet 和 caret 包来解决这个问题。下面是一个数据集,这是可重现的:

df

PARTNER2      ADV
       A    Gamma
       B    Gamma
       C    Gamma
       D    Gamma
       D    Gamma
       E    Gamma
       F    Gamma
       G    Gamma
       F    Gamma
       F    Gamma
       H    Gamma
       I    Gamma
       F    Gamma
       J    Gamma
       D    Gamma
       E    Beta
       K    Beta
       D    Beta
       D    Beta
       E    Beta
       F    Beta
       L    Beta
       F    Beta
       F    Beta
       M    Beta
       F    Beta
       E    Beta
       N    Zeta
       J    Zeta
       N    Zeta
       O    Zeta
       D    Zeta
       P    Zeta
       Q    Zeta
       D    Zeta
       F    Zeta
       L    Zeta
       F    Zeta 
       F    Zeta
       D    Zeta
       D    Zeta
       L    Alpha
       L    Alpha
       R    Alpha
       E    Alpha
       F    Alpha
       D    Alpha
       D    Alpha
       N    Alpha

从这里开始,我使用 caret 包来训练数据并使用模型来预测出现ADVPARTNER2出现的概率。虽然最后我得到一个错误,但我似乎无法解决。

inTrain <- createDataPartition(y=df$ADV, p=0.75, list=FALSE)   # We wish 75% for the trainset 

train.set <- df[inTrain,]
test.set  <- df[-inTrain,]
nrow(train.set)/nrow(test.set) # should be around 3

model <- train(ADV ~ ., train.set, 
               method='nnet', 
               trace = FALSE)

prediction <- predict(model, newdata=test.set[-2], type="prob")

model.frame.default(Terms, newdata, na.action = na.action, xlev = object$xlevels) 中的错误:因子 PARTNER2 具有新级别 I、J

有人能帮我解决这个问题吗?

4

0 回答 0