我在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 console的截图。我在这里做错了什么。请帮助我。谢谢。
答案 0 :(得分:2)
在最后一行代码中
数据=列车
所以要么把data = test,要么new.data = test(取决于nnet包的预测函数所说的)
预测功能不需要列车数据(大部分时间),因为它只记得模型规范,可以应用于具有相同功能的新数据。 或使用
predicted<-predict(model.nnet, test,type="class")
答案 1 :(得分:0)
我遇到了问题。当我在预测功能中用测试替换 data = test 时,它可以正常工作。这是我修改后的预测代码。
预测&LT; -predict(model.nnet,测试,类型= '类')