全部版块 我的主页
论坛 数据科学与人工智能 数据分析与数据科学 R语言论坛
6260 2
2016-03-17
悬赏 1 个论坛币 未解决
麻烦各位大神帮帮忙~在用r软件建立bp神经网络时遇到问题~
r语言源代码为:
建立bp网络:
net <- newff(n.neurons=c(50,8,2,1), learning.rate.global=1e-2, momentum.global=0.5,
        error.criterium="LMS", Stao=NA, hidden.layer="tansig",
        output.layer="purelin", method="ADAPTgdwm")
(1)训练bp网络
result <- train(net, trainset[,-51],trainset$y, error.criterium="LMS", report=TRUE, show.step=100, n.shows=5 )
错误提示:
Error in train.method(net, P, T, show.step, n.threads = n.threads) :
  REAL() can only be applied to a 'numeric', not a 'character'
(2)采用x=matrix(as.numeric(x),nrow=nrow(x))语句想将字符型改为数字型出现错误提示:
Error in matrix(as.numeric(x), nrow = nrow(x)) :   (list) object cannot be coerced to type 'double'
(3)模型之前想对数据进行标准化用语句
scale(x, scale = TRUE)出现错误提示:Error in colMeans(x, na.rm = TRUE) : 'x' must be numeric。







二维码

扫码加我 拉你入群

请注明:姓名-公司-职位

以便审核进群资格,未注明则拒绝

全部回复
2016-3-17 11:15:29
原来是x的格式是list,要先转换格式后在标准化
x=matrix(unlist(x),nrow=nrow(x))
x=scale(x, scale = TRUE)
index = 1:nrow(x)#行数
testindex = sample(index, trunc(length(index)/3))#抽样的过程,抽取测试集的行号,从index中抽取约1/3的样本,trunc()向零取整
testset = x[testindex, ]#testset测试集
trainset = x[-testindex, ]#trainset训练集
net <- newff(n.neurons=c(50,8,2,1), learning.rate.global=1e-2, momentum.global=0.5,
        error.criterium="LMS", Stao=NA, hidden.layer="tansig",
        output.layer="purelin", method="ADAPTgdwm")

result <- train(net, trainset[,-51],trainset[,51], error.criterium="LMS", report=TRUE, show.step=100, n.shows=5 )

二维码

扫码加我 拉你入群

请注明:姓名-公司-职位

以便审核进群资格,未注明则拒绝

2016-10-9 22:01:06
net <- newff(n.neurons=c(50,8,2,1), learning.rate.global=1e-2, momentum.global=0.5,
        error.criterium="LMS", Stao=NA, hidden.layer="tansig",
        output.layer="purelin", method="ADAPTgdwm")

result <- train(net, trainset[,-51],trainset[,51], error.criterium="LMS", report=TRUE, show.step=100, n.shows=5 )
后面这是什么意思?
二维码

扫码加我 拉你入群

请注明:姓名-公司-职位

以便审核进群资格,未注明则拒绝

相关推荐
栏目导航
热门文章
推荐文章

说点什么

分享

扫码加好友,拉您进群
各岗位、行业、专业交流群