使用以下代码,我构建了一个神经网络模型来预测收盘价:
library(neuralnet)
myformula <- close ~ High+Low+Open
nn_close <- neuralnet(myformula,data=train_,hidden=c(5,3),linear.output=T)
nn_close$net.result[[1]]
有人可以向我解释一下是什么吗nn_close$net.result[[1]]
行吗?我已经检查过CRAN 文档 https://cran.r-project.org/web/packages/neuralnet/neuralnet.pdf但这对我来说仍然不清楚。
结果来自compute()$net.result
仅包含一个级别,这给出了每个样本是给定物种的概率(在本例中)。换句话说,行的总和(大致)等于 1。在下面的示例中,我使用此信息来预测数据验证子集中的物种,并使用以下方法将它们与其真实值进行比较:table
:
# install.packages("neuralnet")
library(neuralnet)
# adapted iris
data(iris)
iris2 <- iris
iris2$setosa <- c(iris2$Species == 'setosa')
iris2$versicolor <- c(iris2$Species == 'versicolor')
iris2$virginica <- c(iris2$Species == 'virginica')
# iris2$Species <- NULL
# training and validation subsets
train.samples <- sample(nrow(iris), nrow(iris)*0.5)
train <- iris2[train.samples,]
valid <- iris2[-train.samples,]
# fit model
inet <- neuralnet(setosa + versicolor + virginica ~ Sepal.Length + Sepal.Width +
Petal.Length + Petal.Width, train, hidden=3, lifesign="full")
# prediction
pred <- compute(inet, valid[,1:4])
head(pred$net.result) # only one level (probability of each category)
predspp <- factor(c("setosa" , "versicolor", "virginica"))[apply(pred$net.result, MARGIN=1, FUN=which.max)]
table(predspp, valid$Species)
# predspp setosa versicolor virginica
# setosa 19 0 0
# versicolor 0 24 4
# virginica 0 2 26
就我而言,所有 setosa 样本都被正确预测。对于 versicolor 和 virginica 分别有 2 个和 4 个错误预测。一般来说,92% 的验证样本 (69/75 * 100) 的预测是正确的。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)