使用nnet R预测新数据的目标

时间:2016-05-21 05:40:06

标签: r nnet

我在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')

enter image description here

以上是r console的截图。我在这里做错了什么。请帮助我。谢谢。

2 个答案:

答案 0 :(得分:2)

在最后一行代码中

  

数据=列车

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

预测功能不需要列车数据(大部分时间),因为它只记得模型规范,可以应用于具有相同功能的新数据。 或使用

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

答案 1 :(得分:0)

我遇到了问题。当我在预测功能中用测试替换 data = test 时,它可以正常工作。这是我修改后的预测代码。

预测&LT; -predict(model.nnet,测试,类型= '类')