• 设为首页
  • 点击收藏
  • 手机版
    手机扫一扫访问
    迪恩网络手机版
  • 关注官方公众号
    微信扫一扫关注
    迪恩网络公众号

R语言h2o深度学习回归预测

原作者: [db:作者] 来自: [db:来源] 收藏 邀请
配置所需环境:
install.packages("h2o")
library(h2o)
Sys.setenv(JAVA_HOME="E:/java/JAVA(1)")         -----配置环境变量
h2o.init() #链接h2o平台
使用的数据形式如下:


先处理一下数据,划分一下数据集:
a<-read.table("gu.txt")
gutrain<-a[1:4680,]
gutest<-a[4681:4695,]
write.table(gutrain, file="D:/gutrain.csv",col.names=F,row.names=F,sep=",") 
write.table(gutest, file="D:/gutest.csv",col.names=F,row.names=F,sep=",") 


a_train <- h2o.importFile(path = "D:/gutrain.csv")#训练集
a_test <- h2o.importFile(path = "D:/gutest.csv")#测试集


y_train <- as.factor(as.matrix(a_train[, 5]))#训练y
y_test <- as.factor(as.matrix(a_test[, 5]))#测试y
然后建立模型:
model <- h2o.deeplearning(x = c(1:4,c(6,7)),  # column numbers for predictors
                          y = 5,   # column number for label
                          training_frame = a_train,
                          activation = "Rectifier", ##**函数为纠正线性函数
                          #balance_classes = TRUE, ##分类是否均衡
                          hidden = c(100, 100, 100),  ## three hidden layers
                          epochs = 100)


yhat_train <- h2o.predict(model, a_train)$predict
yhat_train <- as.factor(as.matrix(yhat_train))


yhat_test <- h2o.predict(model, a_test)$predict
yhat_test <- as.factor(as.matrix(yhat_test))


yt<-as.numeric(as.character(y_test)) #因子转数值需要先转字符再转数值,不然会把因子转成1~length(factor)之间的数值
yhat<-as.numeric(as.character(yhat_test))
接下来看一下预测效果:
s<-0
for(i in 1:15)
{
if(abs(yhat[i]-yt[i])<0.35)
s<-s+1
}

s

[1] 13

预测误差在0.35以内的数据有13个,相对误差是3%,效果还不错,再看一下趋势预测效果

aa<-0
bb<-0
for(i in 1:14)
{
aa[i]<-yt[i+1]-yt[i]
bb[i]<-yhat[i+1]-yhat[i]
}


ss<-0
for(j in 1:14)
{
if(aa[j]*bb[j]>0)
{
ss<-ss+1
}
}
ss

[1] 11

趋势预测的正确率是73.3%,也算差强人意,在参数的调节上再下点功夫可能效果会更好



鲜花

握手

雷人

路过

鸡蛋
该文章已有0人参与评论

请发表评论

全部评论

专题导读
上一篇:
R语言统计入门第二章2.2发布时间:2022-07-18
下一篇:
R语言中计算几何平均数发布时间:2022-07-18
热门推荐
热门话题
阅读排行榜

扫描微信二维码

查看手机版网站

随时了解更新最新资讯

139-2527-9053

在线客服(服务时间 9:00~18:00)

在线QQ客服
地址:深圳市南山区西丽大学城创智工业园
电邮:jeky_zhao#qq.com
移动电话:139-2527-9053

Powered by 互联科技 X3.4© 2001-2213 极客世界.|Sitemap