0

我在 nnet 包 R 中遇到了预测函数的问题。

我已经用训练数据在 R 中训练了一个 nnet 模型,但是当我尝试预测新的测试样本时,我得到的结果多于测试样本的数量。

我的火车数据包含 3673 行,我的测试有 1225 行。但是当我预测测试数据时,我得到 3673 个目标输出。我在下面粘贴了我的代码。

index<-1:nrow(wine_data)
set.seed(1)
train_ind <- sample(index,.75*nrow(wine_data))
train<-wine_data[train_ind,]
test<-wine_data[-train_ind,]

model.nnet<-nnet(formula=f,data=train,linout=FALSE,size=10)

predicted<-predict(model.nnet,data=test,type='class')

在此处输入图像描述

以上是 r 控制台的屏幕截图。我在这里做错什么了吗。请帮帮我。谢谢你。

4

2 回答 2

2

在您拥有的最后一行代码中

数据=火车

所以要么放 data=test,要么 new.data=test(取决于 nnet 包的 predict 函数所说的)

predict 函数不需要训练数据(大多数时候),因为它只记住模型规范并且可以应用于具有相同特征的新数据。或使用

predicted<-predict(model.nnet, test,type="class")
于 2016-05-21T06:33:05.400 回答
0

我有问题。当我在预测函数中用test替换data=test时,它可以工作。这是我修改后的预测代码。

预测<-predict(model.nnet,test,type='class')

于 2016-05-21T07:49:22.243 回答