10

Rのneuronetパッケージを使用してトレーニングされたニューラルネットワークを使用して、テストデータセットのクラス(0または1)を予測しようとしています。

私が持っているデータは次のようになります。

電車の場合:

x1          x2          x3          x4          y
0.557       0.6217009   0.4839      0.5606936   0
0.6549      0.6826347   0.4424      0.4117647   1
0.529       0.5744681   0.5017      0.4148148   1
0.6016771   0.5737052   0.3526971   0.3369565   1
0.6353945   0.6445013   0.5404255   0.464       1
0.5735294   0.6440678   0.4385965   0.5698925   1
0.5252      0.5900621   0.4412      0.448       0
0.7258687   0.7022059   0.5347222   0.4498645   1

もっと。

テストセットは、トレーニングデータとまったく同じように見えますが、値が異なります(必要に応じてサンプルを投稿します)。

私が使用するコードは次のようになります。

> library(neuralnet)
> nn <- neuralnet(y ~ x1+x2+x3+x4, data=train, hidden=2, err.fct="ce", linear.output=FALSE)
> plot(nn)
> compute(nn, test)

ネットワークがトレーニングされ、ネットワークを正常にプロットできますが、計算が機能しません。計算を実行すると、次のエラーが発生します。

Error in neurons[[i]] %*% weights[[i]] : non-conformable arguments

したがって、基本的には、新しいテストデータを正常に分類するためにニューラルネットワークをトレーニングしようとしています。

どんな助けでも大歓迎です。

編集:

テストオブジェクトのサンプリングは次のとおりです。

x1          x2  x3          x4          y
0.5822  0.6591  0.6445013   0.464       1
0.4082  0.5388  0.5384616   0.4615385   0
0.4481  0.5438  0.6072289   0.5400844   1
0.4416  0.5034  0.5576923   0.3757576   1
0.5038  0.6878  0.7380952   0.5784314   1
0.4678  0.5219  0.5609756   0.3636364   1
0.5089  0.5775  0.6183844   0.5462555   1
0.4844  0.7117  0.6875      0.4823529   1
0.4098  0.711   0.6801471   0.4722222   1

また、y列の値を空にして試してみました。

4

3 に答える 3

19

「テスト」オブジェクトの適切な説明がないため、言うのは難しいですが、これがより良い結果をもたらすかどうかを確認できますか:

compute(nn, test[, 1:4])
于 2012-06-07T21:09:04.760 に答える