0

nnet パッケージ R の予測機能で問題に直面しています。

R で train data を使用して 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 パッケージの予測関数の内容によって異なります)。

予測関数は、モデルの仕様を覚えているだけで、同じ機能を持つ新しいデータに適用できるため、(ほとんどの場合) トレーニング データを必要としません。または使用

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