net.compute matrix.train1 (Intercept) survived pclass sexmale -6ren">
gpt4 book ai didi

R神经网络: "non-conformable arguments"

转载 作者:行者123 更新时间:2023-11-30 08:27:17 25 4
gpt4 key购买 nike

啊啊!尝试使用我的神经网络进行计算时,我不断收到以下错误:

> net.compute <- compute(net, matrix.train2)
Error in neurons[[i]] %*% weights[[i]] : non-conformable arguments

我不知道问题出在哪里。下面我将为您提供来 self 的矩阵的示例数据和格式,然后我将向您展示我尝试运行的代码。

  • matrix.train1 用于训练网络

    > matrix.train1
    (Intercept) survived pclass sexmale age sibsp parch fare embarkedC embarkedQ embarkedS
    1 1 0 3 1 22.00 1 0 7.2500 0 0 1
    2 1 1 1 0 38.00 1 0 71.2833 1 0 0
    3 1 1 3 0 26.00 0 0 7.9250 0 0 1
    4 1 1 1 0 35.00 1 0 53.1000 0 0 1
    5 1 0 3 1 35.00 0 0 8.0500 0 0 1
    6 1 0 3 1 999.00 0 0 8.4583 0 1 0
    7 1 0 1 1 54.00 0 0 51.8625 0 0 1
    8 1 0 3 1 2.00 3 1 21.0750 0 0 1
    9 1 1 3 0 27.00 0 2 11.1333 0 0 1
    10 1 1 2 0 14.00 1 0 30.0708 1 0 0
    11 1 1 3 0 4.00 1 1 16.7000 0 0 1
  • matrix.train2 是用于测试模型的训练数据的一部分

    > matrix.train2
    (Intercept) pclass sexmale age sibsp parch fare embarkedC embarkedQ embarkedS
    1 1 1 1 49.00 1 1 110.8833 1 0 0
    2 1 3 1 42.00 0 0 7.6500 0 0 1
    3 1 1 0 18.00 1 0 227.5250 1 0 0
    4 1 1 1 35.00 0 0 26.2875 0 0 1
    5 1 3 0 18.00 0 1 14.4542 1 0 0
    6 1 3 1 25.00 0 0 7.7417 0 1 0
    7 1 3 1 26.00 1 0 7.8542 0 0 1
    8 1 2 1 39.00 0 0 26.0000 0 0 1
    9 1 2 0 45.00 0 0 13.5000 0 0 1
    10 1 1 1 42.00 0 0 26.2875 0 0 1
    11 1 1 0 22.00 0 0 151.5500 0 0 1

两个矩阵之间唯一真正的区别是 matrix.train2 不包含 survived 列。

这是我尝试运行的 R 代码:

#Build a matrix from training data 
matrix.train1 <- model.matrix(
~ survived + pclass + sex + age + sibsp + parch + fare + embarked,
data=train1
)

library(neuralnet)

#Train the neural net
net <- neuralnet(
survived ~ pclass + sexmale + age + sibsp + parch + fare + embarkedC +
embarkedQ + embarkedS, data=matrix.train1, hidden=10, threshold=0.01
)

#Build a matrix from test data
matrix.train2 <- model.matrix(
~ pclass + sex + age + sibsp + parch + fare + embarked,
data=train2
)

#Apply neural net to test matrix
net.results <- compute(
net, matrix.train2
)

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

谁能告诉我我在这里做错了什么?

谢谢!

<小时/>

根据迄今为止的评论进行更新:

  1. 使用“Predicting class for new data using neuralnet ”中的解决方案似乎不起作用。

    > net.compute <- compute(net, matrix.train2[,1:10])
    Error in neurons[[i]] %*% weights[[i]] : non-conformable arguments
  2. 我通过 model.matrix 手动将 train1train2 数据帧放入矩阵中,因为如果我不这样做我收到以下错误:

    > Error in neurons[[i]] %*% weights[[i]] : 
    requires numeric/complex matrix/vector arguments

注意:有关我为何使用 model.matrix 的更多详细信息,请参阅以下线程:“Working with neuralnet in R for the first time: get “requires numeric/complex matrix/vector arguments” but don't know how to correct ”。

最佳答案

看来您需要删除预测变量。试试这个:

nn_pred<-compute(nn,test[,3:11])

关于R神经网络: "non-conformable arguments",我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17551167/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com