R 神经网络:“神经元错误[[i]]%*%权重[[i]]”如何解决此错误?

R 神经网络:“神经元错误[[i]]%*%权重[[i]]”如何解决此错误?,r,neural-network,R,Neural Network,我对r软件包neuralnet相当陌生。所以我遇到的问题可能很容易解决,但我仍然没有成功 我有一个看起来像这样的数据框,只显示了前5行: var1 var2 var40 var44 var46 var70 var202 var239 var343 var345 var1103 1 5 4 3 5 1 5 4 4 4 NA 3 2 4 2 2 4 4 2

我对r软件包neuralnet相当陌生。所以我遇到的问题可能很容易解决,但我仍然没有成功

我有一个看起来像这样的数据框,只显示了前5行:

  var1 var2 var40 var44 var46 var70 var202 var239 var343 var345 var1103
1    5    4     3     5     1     5      4      4      4     NA       3
2    4    2     2     4     4     2      4      2      4     NA       1
3    4    3     4     4     2     4      3      5      3     NA       4
4    4    4     4     4     3     3      5      5      4     NA       4
5    5    1     5     5     5     5      5      1      5     NA       1
var345不是每行都有NA

这是结构信息:

'data.frame':   22536 obs. of  11 variables:
 $ var1   : num  5 4 4 4 5 4 3 4 4 5 ...
 $ var2   : num  4 2 3 4 1 1 4 4 4 5 ...
 $ var40  : num  3 2 4 4 5 1 4 3 5 4 ...
 $ var44  : num  5 4 4 4 5 1 3 3 5 4 ...
 $ var46  : num  1 4 2 3 5 1 3 2 1 2 ...
 $ var70  : num  5 2 4 3 5 1 4 4 4 5 ...
 $ var202 : num  4 4 3 5 5 1 4 4 5 4 ...
 $ var239 : num  4 2 5 5 1 1 4 3 5 4 ...
 $ var343 : num  4 4 3 4 5 1 3 4 2 5 ...
 $ var345 : num  NA NA NA NA NA NA NA NA NA NA ...
 $ var1103: num  3 1 4 4 1 1 2 NA 4 4 ...
当我将此数据框拆分为75%的训练集数据和25%的测试集数据时,我尝试通过使用其余变量作为预测器来训练神经网络预测var1103:

nn <- neuralnet(var1103~var1+var345+var70+var46+var343+var40+var44+var202+var239+var2,train2, hidden=10, threshold=0.01)

有人知道这里出了什么问题以及如何解决吗?对我来说,数据框架看起来相当直截了当,但我当然可能是错的。我已经准备好将变量转换成因子。结果也是这样。

我将从排除var345开始。var345有NA,但其他变量也有NA。neuralnet不能处理NA的吗?可能吧。我自己从来没有使用过neuralnet库,但若你们认为神经网络如何处理NA可能会很棘手。好吧,我安装了neuralnet,我无法重现上面提到的错误,但我在x-y中得到错误:不一致阵列。如果我省略var345,它工作得很好,所以我对NAs的看法似乎至少部分正确。大多数机器学习算法要求变量不具有任何缺失值。处理缺失值问题的一种简单方法是使用列平均值对其进行免疫。一旦所有缺失值都被插补,您就可以将数据帧传递给神经网络函数。希望这能解决它。尝试寻找缺失值插补策略
Error in neurons[[i]] %*% weights[[i]] : 
  requires numeric/complex matrix/vector arguments