RSNNS包 BP神经网络

简介: RSNNS包 BP神经网络

1 BP神经网络

BP network and RBF network of rsnns package

-----------------------BP neural network----------------------------------------

清除环境

rm(list=ls())
install.packages("mlbench")
install.packages("RSNNS")
install.packages("mlbench")
library(mlbench)
library(RSNNS)
library(ROCR)
data(Sonar)

2 打乱顺序并且确定x与y

##random simpling
Sonar<-Sonar[sample(1:nrow(Sonar),nrow(Sonar)),]
##Define input and output
SonarValues<-Sonar[,1:60]
SonarTargets<-as.numeric(Sonar[,61])-1

把字符类型的y转变为数值型变量

##The data is divided into training set and test set
Sonar<-splitForTrainingAndTest(SonarValues,SonarTargets,ratio=0.3)
##Standardization
Sonar<-normTrainingAndTestSet(Sonar)
#Sonar$

使用splitForTrainAndTest去划分训练集和测试集

在这里插入图片描述

3 建立模型,初始阈值设置为0.5

##多层感知器训练:mlp()
#Multilayer perceptron training
mymlp<-mlp(Sonar$inputsTrain,Sonar$targetsTrain,size= c(4,2),
           learnFuncParams=0.2,maxit=500)
##model predict
out<-predict(mymlp, Sonar$inputsTest) 
out[out<0.5]=0
out[out>=0.5]=1
##calculation accuracy
rate<-sum(out==Sonar$targetsTest)/length(Sonar$targetsTest)

在这里插入图片描述

4 绘制ROC曲线

##Predict training and testing respectively
tr_mlp<-predict(mymlp,Sonar$inputsTrain)
te_mlp<-predict(mymlp,Sonar$inputsTest) 
##Draw ROC curve
tr_pred<-prediction(tr_mlp,Sonar$targetsTrain)
tr_perf<-performance(tr_pred,"tpr","fpr")


te_pred<-prediction(te_mlp,Sonar$targetsTest)
te_perf<-performance(te_pred,"tpr","fpr")

plot(tr_perf,col='green',main="ROC of Models")
plot(te_perf, col='black',lty=2,add=TRUE);
abline(0,1,lty=2,col='red')


tr_auc<-round(as.numeric(performance(tr_pred,'auc')@y.values),3)
tr_str<-paste("Train-AUC:",tr_auc,sep="")
legend(0.3,0.45,c(tr_str),2:8)

te_auc<-round(as.numeric(performance(te_pred,'auc')@y.values),3)
te_ste<-paste("Test-AUC:",te_auc,sep="")
legend(0.3,0.25,c(te_ste),2:8)

在这里插入图片描述
可以发现训练集过拟合,测试集最佳的阈值准确率是0.907

目录
相关文章
|
1月前
|
机器学习/深度学习 Python
Matlab|基于BP神经网络进行电力系统短期负荷预测
Matlab|基于BP神经网络进行电力系统短期负荷预测
113 26
|
11天前
|
机器学习/深度学习 算法 调度
14种智能算法优化BP神经网络(14种方法)实现数据预测分类研究(Matlab代码实现)
14种智能算法优化BP神经网络(14种方法)实现数据预测分类研究(Matlab代码实现)
|
11天前
|
机器学习/深度学习 并行计算 算法
【CPOBP-NSWOA】基于豪冠猪优化BP神经网络模型的多目标鲸鱼寻优算法研究(Matlab代码实现)
【CPOBP-NSWOA】基于豪冠猪优化BP神经网络模型的多目标鲸鱼寻优算法研究(Matlab代码实现)
|
23天前
|
机器学习/深度学习 传感器 算法
【表面粗糙度】基于粒子群PSO算法优化-BP神经网络的表面粗糙度研究(Matlab代码实现)
【表面粗糙度】基于粒子群PSO算法优化-BP神经网络的表面粗糙度研究(Matlab代码实现)
140 7
|
11天前
|
机器学习/深度学习 编解码 并行计算
【创新未发表!】基于BKA算法优化-BP、HO算法优化-BP、CP算法优化-BP、GOOSE算法优化-BP、NRBO算法优化-BP神经网络回归预测比较研究(Matlab代码)
【创新未发表!】基于BKA算法优化-BP、HO算法优化-BP、CP算法优化-BP、GOOSE算法优化-BP、NRBO算法优化-BP神经网络回归预测比较研究(Matlab代码)
|
25天前
|
机器学习/深度学习 数据采集 运维
改进的遗传算法优化的BP神经网络用于电厂数据的异常检测和故障诊断
改进的遗传算法优化的BP神经网络用于电厂数据的异常检测和故障诊断
|
30天前
|
机器学习/深度学习 算法 调度
基于遗传算法GA算法优化BP神经网络(Python代码实现)
基于遗传算法GA算法优化BP神经网络(Python代码实现)
|
9月前
|
SQL 安全 网络安全
网络安全与信息安全:知识分享####
【10月更文挑战第21天】 随着数字化时代的快速发展,网络安全和信息安全已成为个人和企业不可忽视的关键问题。本文将探讨网络安全漏洞、加密技术以及安全意识的重要性,并提供一些实用的建议,帮助读者提高自身的网络安全防护能力。 ####
223 17
|
9月前
|
SQL 安全 网络安全
网络安全与信息安全:关于网络安全漏洞、加密技术、安全意识等方面的知识分享
随着互联网的普及,网络安全问题日益突出。本文将从网络安全漏洞、加密技术和安全意识三个方面进行探讨,旨在提高读者对网络安全的认识和防范能力。通过分析常见的网络安全漏洞,介绍加密技术的基本原理和应用,以及强调安全意识的重要性,帮助读者更好地保护自己的网络信息安全。
177 10
|
9月前
|
存储 SQL 安全
网络安全与信息安全:关于网络安全漏洞、加密技术、安全意识等方面的知识分享
随着互联网的普及,网络安全问题日益突出。本文将介绍网络安全的重要性,分析常见的网络安全漏洞及其危害,探讨加密技术在保障网络安全中的作用,并强调提高安全意识的必要性。通过本文的学习,读者将了解网络安全的基本概念和应对策略,提升个人和组织的网络安全防护能力。

热门文章

最新文章