【干货分享】R语言:Neuralnet神经网络包,你也可以轻松掌握
标签:
r语言博易数据大数据技术neuralnet神经网络包知识发现 |
分类: 干货分享(大数据/机器学习) |
人工神经网络(Artificial Neural Networks,ANN)系统是 20 世纪 40 年代后出现的。它是由众多的神经元可调的连接权值连接而成,具有大规模并行处理、分布式信 息存储、良好的自组织自学习能力等特点。
BP(Back Propagation)算法又称为误差 反向传播算法,是人工神经网络中的一种监督式的学习算法。BP 神经网络算法在理 论上可以逼近任意函数,基本的结构由非线性变化单元组成,具有很强的非线性映射能力。而且网络的中间层数、各层的处理单元数及网络的学习系数等参数可根据具体情况设定,灵活性很大,在优化、信号处理与模式识别、智能控制、故障诊断等许 多领域都有着广泛的应用前景。
本期将介绍R语言里面的神经网络包——Neuralnet包。
#安装并导入neuralnet包(还需要安装grid和MASS两个依赖包)
·install.packages('neuralnet')
·library("neuralnet")
# 构造50个独立分布在0到100之间的随机数
# 然后将他们保存成数据框架(data.frame)
traininginput <- as.data.frame(runif(50, min=0, max=100))
trainingoutput <- sqrt(traininginput)
# 通过cbind函数将输入和输出向量构造成一个数据
# 用一些训练数据测试该神经网络
trainingdata <- cbind(traininginput,trainingoutput) colnames(trainingdata) <- c("Input","Output")
# 训练10个隐藏神经元的神经网络
net.sqrt <- neuralnet(Output~Input,trainingdata, hidden=10, threshold=0.01)
print(net.sqrt)
# 绘制神经网络拓扑图
plot(net.sqrt)
testdata <- as.data.frame((1:10)^2)
net.results <- compute(net.sqrt, testdata) ls(net.results)
# 查看结果
print(net.results$net.result)
# 让结果更直观些
cleanoutput <-cbind(testdata,sqrt(testdata),as.data.frame(net.results$net.result))
colnames(cleanoutput) <- c("Input","Expected Output","Neural Net Output")
print(cleanoutput)
相关阅读:
「如何辨别真伪数据科学家·四」数据分析师必须掌握的20问答案
「如何辨别真伪数据科学家·二」让你在学习中,成为一名优秀的数据分析师
更多精彩,请继续关注"博易数据"(boyidata)或登入官网!

加载中…