82 RSNNS包快速实现 RBF神经网络

简介: RSNNS包 RBF神经网络

1 RBF神经网络

在统计学章节里面,博主介绍了RBF神经网络的原理,通过把线性不可分的数据,通过径向基距离转化为线性可分数据,在使用径向基函数进行分类。
本章里面将使用R代码实现RBF网络

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

相关的包依赖
此次章节承接上一章节的代码
链接: link.

2 建立模型与预估

由于数据使用R自带的数据集,并进行过清洗转化,直接建模

#############################RBF neural network##################################
myrbf<- rbf(Sonar$inputsTrain, Sonar$targetsTrain, size=100, 
            maxit=1000,linOut=F)
0.5阈值估计,一般阈值根据业务设计

model predict

out<-predict(myrbf, Sonar$inputsTest)
out[out<0.5543928]=0
out[out>=0.5543928]=1

calculation accuracy

rate<-sum(out==Sonar$targetsTest)/length(Sonar$targetsTest)

![在这里插入图片描述](https://ucc.alicdn.com/images/user-upload-01/6c9d266ceda043038eca5103072e0b2c.png)

# 3 绘制ROC曲线
方法与上一章节一致,绘制ROC曲线,找出auc值

Prediction probability

tr_rbf<-predict(myrbf,Sonar$inputsTrain)
te_rbf<-predict(myrbf,Sonar$inputsTest)

draw ROC curve

tr_pred<-prediction(tr_rbf,Sonar$targetsTrain)
tr_perf<-performance(tr_pred,"tpr","fpr")
te_pred<-prediction(te_rbf,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)


![4](https://ucc.alicdn.com/images/user-upload-01/260f7d1cfa7f4dd98febb66a83fa9ffd.png?x-oss-process=image/watermark,type_d3F5LXplbmhlaQ,shadow_50,text_Q1NETiBAVEhFIE9SREVS,size_20,color_FFFFFF,t_70,g_se,x_16)

# 4 发现最佳阈值

library(colorspace)
library(pROC)

modelroc=roc(Sonar$targetsTest,te_rbf,plot=T)

plot(modelroc,print.auc=T,auc.polygon=T,grid=c(0.1,0.2),grid.col=c("green","red"),max.auc.polygon=T,auc.polygon.col="skyblue",print.thres=T)

modelauc=auc(modelroc)
modelauc
rocbest=coords(modelroc,"best")

![在这里插入图片描述](https://ucc.alicdn.com/images/user-upload-01/1fddc251ef0f4bcc8227ca46ac5f9f7c.png?x-oss-process=image/watermark,type_d3F5LXplbmhlaQ,shadow_50,text_Q1NETiBAVEhFIE9SREVS,size_20,color_FFFFFF,t_70,g_se,x_16)
![在这里插入图片描述](https://ucc.alicdn.com/images/user-upload-01/41fff1d87bd3409db59a1481ed984ddc.png)
目录
相关文章
|
23天前
|
机器学习/深度学习 并行计算 算法
粒子群算法优化RBF神经网络的MATLAB实现
粒子群算法优化RBF神经网络的MATLAB实现
230 123
|
8天前
|
机器学习/深度学习 算法 机器人
基于自适应RBF神经网络滑模控制的机械臂轨迹跟踪仿真(Simulink仿真实现)
基于自适应RBF神经网络滑模控制的机械臂轨迹跟踪仿真(Simulink仿真实现)
|
19天前
|
机器学习/深度学习 传感器 分布式计算
基于模糊RBF神经网络轨迹跟踪研究(Matlab代码实现)
基于模糊RBF神经网络轨迹跟踪研究(Matlab代码实现)
|
2月前
|
弹性计算 运维 Kubernetes
看阿里云操作系统控制台如何一招擒拿网络丢包
阿里云操作系统控制台帮忙客户快速定位问题,不仅成功完成业务部署并实现稳定运行,更有效遏制了持续性成本消耗。
|
6月前
|
Kubernetes Shell Windows
【Azure K8S | AKS】在AKS的节点中抓取目标POD的网络包方法分享
在AKS中遇到复杂网络问题时,可通过以下步骤进入特定POD抓取网络包进行分析:1. 使用`kubectl get pods`确认Pod所在Node;2. 通过`kubectl node-shell`登录Node;3. 使用`crictl ps`找到Pod的Container ID;4. 获取PID并使用`nsenter`进入Pod的网络空间;5. 在`/var/tmp`目录下使用`tcpdump`抓包。完成后按Ctrl+C停止抓包。
219 12
|
10月前
|
Linux iOS开发 网络架构
如何使用 Ping 命令监测网络丢包情况?
如何使用 Ping 命令监测网络丢包情况?
7894 48
|
8月前
|
机器学习/深度学习 算法 计算机视觉
基于CNN卷积神经网络的金融数据预测matlab仿真,对比BP,RBF,LSTM
本项目基于MATLAB2022A,利用CNN卷积神经网络对金融数据进行预测,并与BP、RBF和LSTM网络对比。核心程序通过处理历史价格数据,训练并测试各模型,展示预测结果及误差分析。CNN通过卷积层捕捉局部特征,BP网络学习非线性映射,RBF网络进行局部逼近,LSTM解决长序列预测中的梯度问题。实验结果表明各模型在金融数据预测中的表现差异。
377 10
|
10月前
|
安全 Windows
【Azure Cloud Service】在Windows系统中抓取网络包 ( 不需要另外安全抓包工具)
通常,在生产环境中,为了保证系统环境的安全和纯粹,是不建议安装其它软件或排查工具(如果可以安装,也是需要走审批流程)。 本文将介绍一种,不用安装Wireshark / tcpdump 等工具,使用Windows系统自带的 netsh trace 命令来获取网络包的步骤
209 32
|
9月前
|
前端开发 网络协议 安全
【网络原理】——HTTP协议、fiddler抓包
HTTP超文本传输,HTML,fiddler抓包,URL,urlencode,HTTP首行方法,GET方法,POST方法
|
9月前
|
Web App开发 网络协议 安全
网络编程懒人入门(十六):手把手教你使用网络编程抓包神器Wireshark
Wireshark是一款开源和跨平台的抓包工具。它通过调用操作系统底层的API,直接捕获网卡上的数据包,因此捕获的数据包详细、功能强大。但Wireshark本身稍显复杂,本文将以用抓包实例,手把手带你一步步用好Wireshark,并真正理解抓到的数据包的各项含义。
1533 2

热门文章

最新文章