In [1]:
#准备工作环境,设置路径
In [2]:
getwd()
Out[2]:
In [3]:
setwd('/Users/zhoudan/Neural Network')
In [4]:
A_index<-data.frame(read.csv("A_index.csv",header=T))
In [5]:
head(A_index)
Out[5]:
In [6]:
A_index$X<-NULL
In [7]:
A_index$index<-NULL
In [8]:
head(A_index)
Out[8]:
In [9]:
dates<-as.Date(A_index[,1])
In [10]:
A_index$date<-NULL
In [11]:
head(A_index)
Out[11]:
In [12]:
nrow(A_index)
Out[12]:
In [13]:
#数据分成训练集和测试集两个部分,并且进行数据标准化
In [14]:
train<-A_index[c(0:500),]
In [15]:
test<-A_index[c(501:623),]
In [16]:
scaled<-as.data.frame(scale(A_index))
In [17]:
train_<-scaled[c(0:500),]
In [18]:
test_<-scaled[c(501:623),]
In [19]:
head(train_)
Out[19]:
In [20]:
head(test_)
Out[20]:
In [21]:
#调入neuralnet包
In [22]:
library(neuralnet)
In [23]:
n<-names(train_)
In [24]:
f <- as.formula(paste("close ~", paste(n[!n %in% "close"], collapse = " + ")))
In [25]:
nn<-neuralnet(f,data=train_,hidden=3,rep=10,linear.output=FALSE)
In [26]:
nn
Out[26]:
In [27]:
par(mfrow=c(2,1))
In [28]:
plot.nn(nn,rep='best')
In [29]:
ls(nn)
Out[29]:
In [30]:
nn$result.matrix
Out[30]:
In [31]:
nn$net.result[[1]]
Out[31]:
In [32]:
nn$covariate
Out[32]:
In [33]:
out<-cbind(nn$covariate,nn$net.result[[1]])
In [34]:
n
Out[34]:
In [35]:
dimnames(out)<-list(NULL,c("open","high","low","volume","nn-output"))
In [36]:
head(out)
Out[36]: