使用神经网络预测新数据的类别

我正在尝试使用R语言中的neuralnet包训练的神经网络来预测测试数据集的类别(0或1)。

我的数据如下所示:

训练数据:

x1          x2          x3          x4          y0.557       0.6217009   0.4839      0.5606936   00.6549      0.6826347   0.4424      0.4117647   10.529       0.5744681   0.5017      0.4148148   10.6016771   0.5737052   0.3526971   0.3369565   10.6353945   0.6445013   0.5404255   0.464       10.5735294   0.6440678   0.4385965   0.5698925   10.5252      0.5900621   0.4412      0.448       00.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)

网络可以训练成功,我也可以成功绘制网络图,但是compute函数无法正常工作。当我运行compute时,得到以下错误:

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

所以,我正在尝试训练一个神经网络来成功分类新的测试数据。

任何帮助都将不胜感激。

编辑:

测试对象的一个样本如下:

x1          x2  x3          x4          y0.5822  0.6591  0.6445013   0.464       10.4082  0.5388  0.5384616   0.4615385   00.4481  0.5438  0.6072289   0.5400844   10.4416  0.5034  0.5576923   0.3757576   10.5038  0.6878  0.7380952   0.5784314   10.4678  0.5219  0.5609756   0.3636364   10.5089  0.5775  0.6183844   0.5462555   10.4844  0.7117  0.6875      0.4823529   10.4098  0.711   0.6801471   0.4722222   1

我也尝试过将y列留空,不填任何值。


回答:

由于缺乏对’test’对象的详细描述,很难判断,但你可以试试看这是否能得到更好的结果:

compute(nn, test[, 1:4])

Related Posts

L1-L2正则化的不同系数

我想对网络的权重同时应用L1和L2正则化。然而,我找不…

使用scikit-learn的无监督方法将列表分类成不同组别,有没有办法?

我有一系列实例,每个实例都有一份列表,代表它所遵循的不…

f1_score metric in lightgbm

我想使用自定义指标f1_score来训练一个lgb模型…

通过相关系数矩阵进行特征选择

我在测试不同的算法时,如逻辑回归、高斯朴素贝叶斯、随机…

可以将机器学习库用于流式输入和输出吗?

已关闭。此问题需要更加聚焦。目前不接受回答。 想要改进…

在TensorFlow中,queue.dequeue_up_to()方法的用途是什么?

我对这个方法感到非常困惑,特别是当我发现这个令人费解的…

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注