r语言神经网络neuralnet,r语言bp神经网络预测

BP神经网络(BPNN)的全称是:误差反向传播神经网络(Error back propagation training neural network)。它具有任

BP神经网络(BPNN)的正式名称是误差反向传播训练神经网络。具有任意复杂的模式分类能力和优秀的多维函数映射能力。

BP神经网络的应用

BP 神经网络是前馈神经网络,理论上可以拟合任何非线性函数。因此,它适用于许多复杂的应用场景。例如:

分类:图像识别、文本分类、语言识别等回归:市场价格预测等845798b53da54b48b27f490c6d147324~noop.image?_iz=58558&from=article.pc_detail&lk3s=953192f4&x-expires=1717726387&x-signature=L7D3x%2Bnm%2FyLI2TXyuS9BQMqMkkY%3D标准三层神经网络结构

安装和导入nnet包

安装:您可以将nnet 直接安装到Rstudio 中。 步骤一:点击第一栏的“工具”,然后在弹出的选项中点击“安装包”。

9a2329117ef0439ea4cb06f5c78d0f2f~noop.image?_iz=58558&from=article.pc_detail&lk3s=953192f4&x-expires=1717726387&x-signature=Iff3XiLUU6boz17%2FbRGTYeLsm9E%3D1

步骤2:在Package栏中输入包的名称:nnet(注意大小写)。在弹出的选项中选择nnet,点击下面的Install。

de42612332dc4ff0ab0784b46c62813b~noop.image?_iz=58558&from=article.pc_detail&lk3s=953192f4&x-expires=1717726387&x-signature=Q9OCHcObUJWa3ZgI1NQM6mtt9Gs%3D2

第三步:导入nnet包

Library(nnet)

设置运行路径和读取输入数据

设置执行路径###设置训练数据的工作目录使用setwd(‘C:/Users/dell/Desktop/BPnn/bp8’)getwd() 读取输入数据。分类任务示例:有11个元素:x1~x10,标签:y###读取输入文件数据- read.csv(‘BP_8_TT2.csv’)data# 数据命名data@names – c (‘x1′,’ x2′, ‘x3′,’x4′,’x5′,’x6′,’x7′,’x8′,’x9′,’x10′,’x11′,’y’)data $y – as.factor (data $ y)# 查看数据head(data)str(data)data

训练数据处理和构建模型

要分割训练和测试数据集,请使用sample函数。 Sample()函数是用于随机采样的函数。函数模型: 个样本(x,大小,替换=FALSE,概率=NULL)

x: 参数是包含多个元素的向量。对于整数(N),采样范围为1:N,包括N本身。

大小:样本数量

Replace:表示是否重复采样。默认值为FALSE。如果为TRUE,则表示替换采样。

prob: 参数允许您设置对x 的每个元素进行采样的概率。

#设置随机种子set.seed(1234) #将数据按照比例随机分为训练集和测试集7:3 ind-sample(2,nrow(data),replace=TRUE,prob=c(0.7 ,0.3)) traindata – data[ind==1,]testdata-data[ind==2,] 构建并训练BPNN ##inputSYbp=nnet(y~x1+x2+x3+x4 根据+x5+x6+ x7+x8 的输出训练bpnn +x9+x10+x11, data=data[ind==1,], size=10, rang=0.5, Decay=12e-2, maxit=2000) SYbpprint(SYbp) Lotnet(SYbp) ) #输出网络结构图garson(SYbp) #输出因子重要性图0a4b651f34114feca682aa724f9cb7f6~noop.image?_iz=58558&from=article.pc_detail&lk3s=953192f4&x-expires=1717726387&x-signature=%2FZMrswM2v%2Fa6lBKqqMFQD4OlMHY%3D 因子重要性图

预测

训练完模型后,使用predict函数进行预测,得到被分类为不同类型的概率。 ## 预测net.tr_results – 检测(SYbp,data[ind==1,]) ls(net.tr_results)print (net.tr_results)data2=data.frame(traindata$LSI,net.tr_results) data2colnames( data2) -c(‘y’,’pro’) 最后可以使用write.csv函数输出获得的概率。 write.csv(结果, ‘all_pro.csv’)

这就是一个简单的BP神经网络的R语言实现过程。从代码中可以看出,用R编程比其他语言简单得多,并且可以快速上手。

原创文章,作者:小条,如若转载,请注明出处:https://www.sudun.com/ask/80648.html

(0)
小条's avatar小条
上一篇 2024年5月31日 上午10:12
下一篇 2024年5月31日 上午10:13

相关推荐

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注