楼主: 雪凤夏洛
1615 0

[问答] ANN和ELM过拟合咋办,求问 [推广有奖]

  • 0关注
  • 2粉丝

已卖:85份资源

硕士生

48%

还不是VIP/贵宾

-

威望
0
论坛币
185 个
通用积分
44.1495
学术水平
6 点
热心指数
12 点
信用等级
6 点
经验
2842 点
帖子
85
精华
0
在线时间
145 小时
注册时间
2017-6-26
最后登录
2020-8-13

楼主
雪凤夏洛 发表于 2019-4-20 23:20:11 |AI写论文

+2 论坛币
k人 参与回答

经管之家送您一份

应届毕业生专属福利!

求职就业群
赵安豆老师微信:zhaoandou666

经管之家联合CDA

送您一个全额奖学金名额~ !

感谢您参与论坛问题回答

经管之家送您两个论坛币!

+2 论坛币
如题,这两个模型拟合出来的都是直线,过拟合,怎么改呀?改参数吗?ANN的代码
  1. train <- HK_data[1:27,-1]
  2. test <- HK_data[28:44,-c(1,2)]
  3. library(neuralnet)
  4. n <- names(train)
  5. f <- as.formula(paste("ED ~", paste(n[!n %in% "ED"], collapse = " + ")))
  6. fit_ann <- neuralnet(f,data = train,hidden = c(5,3),linear.output = T)
  7. fitted_ann<-fit_ann$net.result
  8. mape_train_svr=mean(abs((fitted_ann- ED)/ ED))
  9. rmse_train_svr=rmse(as.data.frame(ED),as.data.frame(fitted_ann))
  10. #plot(fit_ann)

  11. pr_ann <- compute(fit_ann,test)
  12. mape_ann=mean(abs((pr_ann$net.result-y)/y))
  13. rmse_ann=rmse(as.data.frame(y),as.data.frame(pr_ann$net.result))
复制代码
ELM的代码

  1. library(elmNNRcpp)
  2. pr_elm=matrix(ncol=1,nrow=17,0)
  3.   HK_data = ts(HK_data)
  4.   HK_data = as.matrix(HK_data)
  5.   dimnames(HK_data) = NULL
  6.   X  = HK_data [,-c(1,2)]
  7.   x1 = X[1:27,]
  8.   x2 = matrix(X[28:nrow(X),],nrow =17)
  9.   y_elm = matrix(HK_data[1:27,2],nrow = length(HK_data [1:27,2]),ncol = 1)
  10.   fit_elm = elm_train(x1, y_elm, nhid = 4, actfun = 'sig',init_weights= 'normal_gaussian', bias =T, verbose = T,moorep_pseudoinv_tol=3,leaky_relu_alpha=0)
  11.   fitted_elm<-as.numeric(fitted(fit_elm))
  12.   mape_train_elm=mean(abs((fitted_elm- ED)/ ED))
  13.   rmse_train_elm=rmse(as.data.frame(ED),as.data.frame(fitted_elm))
  14.   
  15.   pr_elm = elm_predict(fit_elm,x2)
  16. mape_elm=mean(abs((pr_elm-y)/y))
  17. rmse_elm=rmse(as.data.frame(y),as.data.frame(pr_elm))
复制代码


二维码

扫码加我 拉你入群

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

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

关键词:模型拟合 过拟合

您需要登录后才可以回帖 登录 | 我要注册

本版微信群
加好友,备注cda
拉您进交流群
GMT+8, 2025-12-23 15:27